Title
Optimizing Iceberg Queries with Complex Joins.
Abstract
Iceberg queries, commonly used for decision support, find groups whose aggregate values are above or below a threshold. In practice, iceberg queries are often posed over complex joins that are expensive to evaluate. This paper proposes a framework for combining a number of techniques---a-priori, memoization, and pruning---to optimize iceberg queries with complex joins. A-priori pushes partial GROUP BY and HAVING condition before a join to reduce its input size. Memoization caches and reuses join computation results. Pruning uses cached results to infer that certain tuples cannot contribute to the final query result, and short-circuits join computation. We formally derive conditions for correctly applying these techniques. Our practical rewrite algorithm produces highly efficient SQL that can exploit combinations of optimization opportunities in ways previously not possible. We evaluate our PostgreSQL-based implementation experimentally and show that it outperforms both baseline PostgreSQL and a commercial database system.
Year
DOI
Venue
2017
10.1145/3035918.3064053
SIGMOD Conference
Field
DocType
Citations 
Query optimization,SQL,Data mining,Joins,Tuple,Computer science,Cache,Decision support system,Exploit,Memoization,Database
Conference
0
PageRank 
References 
Authors
0.34
12
3
Name
Order
Citations
PageRank
Brett Walenz131.74
Sudeepa Roy226830.95
Jun Yang32762241.66