Dr. DeeBee® ODBC Driver Kit
Working with Indexes
To solve a query, the upper levels of the Dr. DeeBee® ODBC Driver Kit system opens a table and retrieves the records in the table. For each record retrieved, it tests the selection criteria specified and filters out the records that do not meet the criteria. This filtering can be pushed down to the ISAM layer (which is implemented by you). When this is done, the query would take less time to execute since fewer records would have to be processed by the upper levels.
When the upper levels of the system calls the ISAM layer to open a table, the ISAM layer returns the name and type of each column in the table. In addition to this information, the ISAM layer also returns the selectivity of each column. The selectivity is an indication of how selective the column is (for example, RECORD_ID would be very selective, NAME would be moderately selective, ZIPCODE would not be very selective).
When the upper levels of the system receives a query, it walks the predicate to find the selective clauses (based on the selectivity specified when the table was opened). After the upper levels of the system open the table, but before any records are retrieved from the table, it passes these clauses down to the ISAM layer to tell the ISAM layer "you only need to return records that satisfy this criteria". It then starts to retrieve the records from the ISAM layer.
A typical ISAM implementation will use its indexes to decide which records to return.
Contact SYWARE @ 617-497-1300 or click here to email us for detailed product & purchasing information.
4 Easy Steps to Mobility