1. A Survey on Advancing the DBMS Query Optimizer: Cardinality Estimation, Cost Model, and Plan Enumeration
- Author
-
Yuwei Peng, Hai Lan, and Zhifeng Bao
- Subjects
FOS: Computer and information sciences ,Database ,Computer science ,Computer Science - Artificial Intelligence ,media_common.quotation_subject ,Computational Mechanics ,Databases (cs.DB) ,Plan (drawing) ,computer.software_genre ,Query optimization ,Computer Science Applications ,Cardinality ,Operator (computer programming) ,Artificial Intelligence (cs.AI) ,Computer Science - Databases ,H.2.4 ,Enumeration ,Key (cryptography) ,Cardinality (SQL statements) ,Quality (business) ,Tuple ,computer ,media_common - Abstract
Query optimizer is at the heart of the database systems. Cost-based optimizer studied in this paper is adopted in almost all current database systems. A cost-based optimizer introduces a plan enumeration algorithm to find a (sub)plan, and then uses a cost model to obtain the cost of that plan, and selects the plan with the lowest cost. In the cost model, cardinality, the number of tuples through an operator, plays a crucial role. Due to the inaccuracy in cardinality estimation, errors in cost model, and the huge plan space, the optimizer cannot find the optimal execution plan for a complex query in a reasonable time. In this paper, we first deeply study the causes behind the limitations above. Next, we review the techniques used to improve the quality of the three key components in the cost-based optimizer, cardinality estimation, cost model, and plan enumeration. We also provide our insights on the future directions for each of the above aspects., This paper was accepted by Data Science and Engineering (DSEJ) in Dec, 2020
- Published
- 2021