On the optimal nesting order for computing N-relational joins
ACM Transactions on Database Systems (TODS)
Query optimization by simulated annealing
SIGMOD '87 Proceedings of the 1987 ACM SIGMOD international conference on Management of data
Query evaluation techniques for large databases
ACM Computing Surveys (CSUR)
On the optimality of strategies for multiple join
Journal of the ACM (JACM)
An overview of query optimization in relational systems
PODS '98 Proceedings of the seventeenth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
Query Optimization in Database Systems
ACM Computing Surveys (CSUR)
A Polynomial Time Algorithm for Optimizing Join Queries
Proceedings of the Ninth International Conference on Data Engineering
Exploiting common subqueries for complex query optimization
CASCON '02 Proceedings of the 2002 conference of the Centre for Advanced Studies on Collaborative research
Partial join order optimization in the paraccel analytic database
Proceedings of the 2009 ACM SIGMOD International Conference on Management of data
Improving quality and convergence of genetic query optimizers
DASFAA'07 Proceedings of the 12th international conference on Database systems for advanced applications
Parameterizing a genetic optimizer
DEXA'06 Proceedings of the 17th international conference on Database and Expert Systems Applications
Hi-index | 0.00 |
User queries have been becoming increasingly complex (e.g., involving a large number of joins) as database technology is applied to some application domains such as data warehouses and life sciences. Query optimizers in existing database management systems often suffer from intolerably long optimization time and/or poor optimization results when optimizing large join queries. One possible solution to tackle these problems is to rewrite a user-specified complex query into another form that can better utilize the capability of the underlying query optimizer, based on some heuristic rules, before sending the query to the next query optimization stage. We focus on studying a special type of complex query possessing a star-schema structure with snowflakes, simply called the snow-schema query. The key idea is to split a given snow-schema query into several levels of small query blocks at the query rewriting stage. The query optimizer then optimizes the query blocks and integrates their results into the final query result. A set of heuristic rules on how to divide the query is introduced. A query rewriting framework adopting these heuristics is presented. Experimental results demonstrate that this heuristic-based query rewriting technique is quite promising in optimizing large snow-schema queries.