Structural heuristics for query optimization
McMahan, Benjamin James
Vardi, Moshe Y.
Master of Science
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.