Litcius/Paper detail

A Survey on Advancing the DBMS Query Optimizer: Cardinality Estimation, Cost Model, and Plan Enumeration

Hai Lan, Zhifeng Bao, Yuwei Peng

2021Data Science and Engineering86 citationsDOIOpen Access PDF

Abstract

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.

Topics & Concepts

Cardinality (data modeling)Computer scienceTuplePlan (archaeology)EnumerationQuery planKey (lock)DatabaseData miningSkylineQuery optimizationQuality (philosophy)Cost estimateTheoretical computer scienceTotal costCardinal number (linguistics)Mathematical optimizationAdvanced Database Systems and QueriesData Management and AlgorithmsCloud Computing and Resource Management
A Survey on Advancing the DBMS Query Optimizer: Cardinality Estimation, Cost Model, and Plan Enumeration | Litcius