Browse Prior Art Database

Index Utilization Enhancement by Deferring Updates and Retrievals

IP.com Disclosure Number: IPCOM000103053D
Original Publication Date: 1990-May-01
Included in the Prior Art Database: 2005-Mar-17
Document File: 1 page(s) / 57K

Publishing Venue

IBM

Related People

Haderle, DJ: AUTHOR [+4]

Abstract

In a typical relational database management system, indexes provide direct access to rows with special attribute(s). Thus, there may exist an index on the salary attribute of an employee table. Through this index, for example, all employees with salary less than 10,000 may be identified directly. Indexes generally improve the performance of query processing. However, there are cases when an index cannot be used at all, or its performance can be greatly improved. This invention improves index usage by deferring update and retrieval.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 63% of the total text.

Index Utilization Enhancement by Deferring Updates and Retrievals

      In a typical relational database management system, indexes
provide direct access to rows with special attribute(s). Thus, there
may exist an index on the salary attribute of an employee table.
Through this index, for example, all employees with salary less than
10,000 may be identified directly.  Indexes generally improve the
performance of query processing.  However, there are cases when an
index cannot be used at all, or its performance can be greatly
improved.  This invention improves index usage by deferring update
and retrieval.

      In a first case, an index cannot be used where the query will
change the indexed attribute.  Thus, the salary index mentioned above
cannot be used when we want to give a 10% raise to those people with
salary less than 10,000.

      This invention solves this problem as follows.  When the index
structure is used to locate a row to be updated, the location of such
a row is kept and the row is not updated immediately.  After all such
candidates are gathered, then the kept location list is used to
locate each target row, and to update the row and its corresponding
entry in the index structure.  By keeping the locations of those rows
to be updated in a temporary list and deferring the actual updates,
the integrity of an update operation is preserved while allowing
indexed access to the data.

      In a second case, the index does not perform well...