Structural heuristics for query optimization

The join operation, which combines tuples from multiple relations, is the most fundamental and, typically, the most expensive operation in database queries. The standard approach to join-query optimization is cost based, which requires developing a cost model, assigning an estimated cost to each que...

Full description

Bibliographic Details
Main Author: McMahan, Benjamin James
Other Authors: Vardi, Moshe Y.
Format: Others
Language:English
Published: 2009
Subjects:
Online Access:http://hdl.handle.net/1911/17707
Description
Summary:The join operation, which combines tuples from multiple relations, is the most fundamental and, typically, the most expensive operation in database queries. The standard approach to join-query optimization is cost based, which requires developing a cost model, assigning an estimated cost to each query-processing plan, and searching in the space of all plans for a plan of minimal cost. But as the number of joins increases, the size of the search space grows exponentially. Another approach to the problem, one that has been successful in constraint satisfaction, is that of structural optimization. The focus is on project-join orders that minimize the size of intermediate results. This thesis shows how structural techniques, including projection pushing and join reordering, can yield exponential improvements in query execution time. Finally, an implementation of the bucket elimination method is used to obtain another exponential improvement.