Adaptive Cardinality Estimation

11/22/2017
by   Oleg Ivanov, et al.
0

In this paper we address cardinality estimation problem which is an important subproblem in query optimization. Query optimization is a part of every relational DBMS responsible for finding the best way of the execution for the given query. These ways are called plans. The execution time of different plans may differ by several orders, so query optimizer has a great influence on the whole DBMS performance. We consider cost-based query optimization approach as the most popular one. It was observed that cost-based optimization quality depends much on cardinality estimation quality. Cardinality of the plan node is the number of tuples returned by it. In the paper we propose a novel cardinality estimation approach with the use of machine learning methods. The main point of the approach is using query execution statistics of the previously executed queries to improve cardinality estimations. We called this approach adaptive cardinality estimation to reflect this point. The approach is general, flexible, and easy to implement. The experimental evaluation shows that this approach significantly increases the quality of cardinality estimation, and therefore increases the DBMS performance for some queries by several times or even by several dozens of times.

READ FULL TEXT
research
01/05/2021

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

Query optimizer is at the heart of the database systems. Cost-based opti...
research
06/01/2023

Finding Performance Issues in Database Engines via Cardinality Estimation Testing

Database Management Systems (DBMSs) process a given query by creating an...
research
02/21/2019

How I Learned to Stop Worrying and Love Re-optimization

Cost-based query optimizers remain one of the most important components ...
research
01/13/2021

Flow-Loss: Learning Cardinality Estimates That Matter

Previous approaches to learned cardinality estimation have focused on im...
research
10/01/2020

Revisiting Runtime Dynamic Optimization for Join Queries in Big Data Management Systems

Query Optimization remains an open problem for Big Data Management Syste...
research
04/02/2021

An Empirical Evaluation of Cost-based Federated SPARQL Query Processing Engines

Finding a good query plan is key to the optimization of query runtime. T...
research
06/21/2018

Novel Selectivity Estimation Strategy for Modern DBMS

Selectivity estimation is important in query optimization, however accur...

Please sign up or login with your details

Forgot password? Click here to reset