Abstract
Many data base management systems’ query optimizers choose at most one index for accessing the records of a table in a given query, even though many indexes may exist on the table. In spite of the fact that there are some systems which use multiple indexes, very little has been published about the concurrency control or query optimization implications (e.g., deciding how many indexes to use) of using multiple indexes. This paper addresses these issues and presents solutions to the associated problems. Techniques are presented for the efficient handling of record ID lists, elimination of some locking, and determination of how many and which indexes to use. The techniques are adaptive in the sense that the execution strategies may be modified at run-time (e.g., not use some indexes which were to have been used), if the assumptions made at optimization-time (e.g., about selectivities) turn out to be wrong. Opportunities for exploiting parallelism are also identified. A subset of our ideas have been implemented in IBM’s DB2 V2R2 relational data base management system.
Cite
CITATION STYLE
Mohan, C., Haderle, D., Wang, Y., & Chen, J. (1990). Single table access using multiple indexes: Optimization, execution, and concurrency control techniques. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 416 LNCS, pp. 29–43). Springer Verlag. https://doi.org/10.1007/BFb0022162
Register to see more suggestions
Mendeley helps you to discover research relevant for your work.