Title
How Good Are Query Optimizers, Really?
Abstract
Finding a good join order is crucial for query performance. In this paper, we introduce the Join Order Benchmark (JOB) and experimentally revisit the main components in the classic query optimizer architecture using a complex, real-world data set and realistic multi-join queries. We investigate the quality of industrial-strength cardinality estimators and find that all estimators routinely produce large errors. We further show that while estimates are essential for finding a good join order, query performance is unsatisfactory if the query engine relies too heavily on these estimates. Using another set of experiments that measure the impact of the cost model, we find that it has much less influence on query performance than the cardinality estimates. Finally, we investigate plan enumeration techniques comparing exhaustive dynamic programming with heuristic algorithms and find that exhaustive enumeration improves performance despite the sub-optimal cardinality estimates.
Year
DOI
Venue
2015
10.14778/2850583.2850594
PVLDB
Field
DocType
Volume
Query optimization,Dynamic programming,Data mining,Heuristic,Computer science,Enumeration,Sargable,Cardinality,Database,Estimator
Journal
9
Issue
ISSN
Citations 
3
2150-8097
57
PageRank 
References 
Authors
1.56
40
6
Name
Order
Citations
PageRank
Viktor Leis142530.26
Andrey Gubichev226311.88
Atanas Mirchev3632.65
Peter Boncz42517244.81
Alfons Kemper53519769.50
Thomas Neumann62523156.50