Generating optimal DAG-structured query evaluation plans

Thomas Neumann, Guido Moerkotte

Research output: Contribution to journalArticlepeer-review

6 Scopus citations

Abstract

In many database queries relations are access multiple times during query processing. In these cases query processing can be accelerated by sharing scan operators and possibly other operators based upon the common relations. The standard approach to achieve sharing works as follows. In a first phase, a non-shared tree-shaped plan is generated via a traditional plan generator. In a second phase, common instances of a scan are detected and shared. After that, other possible operators are shared. The result is an operator DAG (directed acyclic graph). The limitation of this approach is obvious. As sharing influences plan costs, a separation of the optimization into two phases comprises the danger of missing the optimal plan, since the first optimization phase does not know about sharing. We remedy this situation by (1) introducing a general framework for reasoning about sharing and (2) sketching how this framework can be integrated into a plan generator, which then constructs optimal DAG-structured query evaluation plans.

Original languageEnglish
Pages (from-to)103-117
Number of pages15
JournalComputer Science - Research and Development
Volume24
Issue number3
DOIs
StatePublished - Oct 2009
Externally publishedYes

Fingerprint

Dive into the research topics of 'Generating optimal DAG-structured query evaluation plans'. Together they form a unique fingerprint.

Cite this