Bitvector-aware Query Optimization for Decision Support Queries (extended version)

05/07/2020
by   Bailu Ding, et al.
0

Bitvector filtering is an important query processing technique that can significantly reduce the cost of execution, especially for complex decision support queries with multiple joins. Despite its wide application, however, its implication to query optimization is not well understood. In this work, we study how bitvector filters impact query optimization. We show that incorporating bitvector filters into query optimization straightforwardly can increase the plan space complexity by an exponential factor in the number of relations in the query. We analyze the plans with bitvector filters for star and snowflake queries in the plan space of right deep trees without cross products. Surprisingly, with some simplifying assumptions, we prove that, the plan of the minimal cost with bitvector filters can be found from a linear number of plans in the number of relations in the query. This greatly reduces the plan space complexity for such queries from exponential to linear. Motivated by our analysis, we propose an algorithm that accounts for the impact of bitvector filters in query optimization. Our algorithm optimizes the join order for an arbitrary decision support query by choosing from a linear number of candidate plans in the number of relations in the query. We implement our algorithm in Microsoft SQL Server as a transformation rule. Our evaluation on both industry standard benchmarks and customer workload shows that, compared with the original Microsoft SQL Server, our technique reduces the total CPU execution time by 22 reduction in CPU execution time for individual queries.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
02/28/2022

Efficient Massively Parallel Join Optimization for Large Queries

Modern data analytical workloads often need to run queries over a large ...
research
01/07/2019

Guided Automated Learning for query workload re-Optimization

Query optimization is a hallmark of database systems enabling complex SQ...
research
09/17/2022

Performance Evaluation of Query Plan Recommendation with Apache Hadoop and Apache Spark

Access plan recommendation is a query optimization approach that execute...
research
06/01/2018

SaGe: Preemptive Query Execution for High Data Availability on the Web

Semantic Web applications require querying available RDF Data with high ...
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
10/25/2022

ARENA: Towards Informative Alternative Query Plan Selection for Database Education

A key learning goal of learners taking database systems course is to und...
research
05/02/2019

Can the Optimizer Cost be Used to Predict Query Execution Times?

Predicting the execution time of queries is an important problem with ap...

Please sign up or login with your details

Forgot password? Click here to reset