Efficient table scans for DBKEY-based range conditions
------------------------------------------------------

                 Key: CORE-6278
                 URL: http://tracker.firebirdsql.org/browse/CORE-6278
             Project: Firebird Core
          Issue Type: Improvement
          Components: Engine
            Reporter: Dmitry Yemanov


Currently queries with conditions like (RDB$DB_KEY = :param) use a very fast 
lookup of single record based on its number decoded from DBKEY. But if some 
range condition is used (e.g. RDB$DB_KEY > :param), then a full table scan is 
performed. However, if the lower/upper limits for the retrieval are provided, 
then a "partial" table scan could be performed instead.

The logical record number space is sequential and the full table scan just 
iterates starting with the zero number until the last record is seen. It can be 
modified to start with the given "lowest" record number and stop as soon as the 
last fetched record number is bigger than the given "upper" record number.

-- 
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

        


Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to