Firebird 2.5 Optimiser Issue
----------------------------

                 Key: CORE-3902
                 URL: http://tracker.firebirdsql.org/browse/CORE-3902
             Project: Firebird Core
          Issue Type: Bug
    Affects Versions: 2.5.1
         Environment: 32 bit Windows XP. Firebird Classic Server.
            Reporter: Huan Ruan


While working on upgrading our database from Firebird 2.1.2 to 2.5.1, we found 
a query that runs a lot slower in 2.5 than in 2.1. We got the query down to a 
minimum to reproduce the issue and the pattern seems to be related to using 
derived table with aliased field names.

Here is a small test case to reproduce. All comparisons are done on a 32bit 
Windows XP server. Firebird CS. The issue can be reproduced with 2.5.1 and the 
latest 2.5.2 snapshot.
{code:sql}
select
  rdb$database.rdb$relation_id
from rdb$database
  left outer join
  (
    select
      rdb$relations.rdb$relation_id as tempid
    from rdb$relations
  ) temp (tempid)
  on temp.tempid = rdb$database.rdb$relation_id
{code}

In Firebird 2.1 the plan is good, i.e. an Index join to RDB$RELATIONS.
{code:sql}
PLAN JOIN (RDB$DATABASE NATURAL, TEMP RDB$RELATIONS INDEX (RDB$INDEX_1))
{code}

In Firebird 2.5 the plan becomes an natural read join to RDB$RELATIONS.
{code:sql}
PLAN JOIN (RDB$DATABASE NATURAL, TEMP RDB$RELATIONS NATURAL)
{code}

However, the interesting thing is if I remove either the 'as tempid' or 
'(tempid)' alias, or don't use alias at all, the plan goes back to the 2.1 
version.

Clearly, using an alias should not have caused a change in execution plan.


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://tracker.firebirdsql.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to