Conjunctive selection conditions in main memory
- 3 June 2002
- proceedings article
- Published by Association for Computing Machinery (ACM)
- p. 109-120
- https://doi.org/10.1145/543613.543628
Abstract
We consider the fundamental operation of applying a conjunction of selection conditions to a set of records. With large main memories available cheaply, systems may choose to keep the data entirely in main memory, in order to improve query and/or update performance.The design of a data-intensive algorithm in main memory needs to take into account the architectural characteristics of modern processors, just as a disk-based method needs to consider the physical characteristics of disk devices. An important architectural feature that influences the performance of main memory algorithms is the branch misprediction penalty. We demonstrate that branch misprediction has a substantial impact on the performance of an algorithm for applying selection conditions.We describe a space of "query plans" that are logically equivalent, but differ in terms of performance due to variations in their branch prediction behavior. We propose a cost model that takes branch prediction into account, and develop a query optimization algorithm that chooses a plan with optimal estimated cost. We also develop an efficient heuristic optimization algorithm.We provide experimental results for a case study based on an event notification system. Our results show the effectiveness of the proposed optimization techniques. Our results also demonstrate that significant improvements in performance can be obtained by applying a methodology that takes branch misprediction latency into account.Keywords
This publication has 9 references indexed in Scilit:
- Filtering algorithms and implementation for very fast publish/subscribe systemsPublished by Association for Computing Machinery (ACM) ,2001
- Data prefetch mechanismsACM Computing Surveys, 2000
- Making B+- trees cache conscious in main memoryPublished by Association for Computing Machinery (ACM) ,2000
- A general approach for run-time specialization and its application to CPublished by Association for Computing Machinery (ACM) ,1996
- Predicate migrationPublished by Association for Computing Machinery (ACM) ,1993
- Main memory database systems: an overviewIEEE Transactions on Knowledge and Data Engineering, 1992
- An evaluation of Starburst's memory resident storage componentIEEE Transactions on Knowledge and Data Engineering, 1992
- Query optimization in a memory-resident domain relational calculus database systemACM Transactions on Database Systems, 1990
- LVIII. On the analytical forms called trees.–Part IIJournal of Computers in Education, 1859