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