Iterative dynamic programming: a new class of query optimization algorithms

  • Authors:
  • Donald Kossmann;Konrad Stocker

  • Affiliations:
  • Univ. of Passau, Passau, Germany;Univ. of Passau, Passau, Germany

  • Venue:
  • ACM Transactions on Database Systems (TODS)
  • Year:
  • 2000

Quantified Score

Hi-index 0.00

Visualization

Abstract

The query optimizer is one of the most important components of a database system. Most commercial query optimizers today are based on a dynamic-programming algorithm, as proposed in Selinger et al. [1979]. While this algorithm produces good optimization results (i.e, good plans), its high complexity can be prohibitive if complex queries need to be processed, new query execution techniques need to be integrated, or in certain programming environments (e.g., distributed database systems). In this paper, we present and thoroughly evaluate a new class of query optimization algorithms that are based on a principle that we call iterative dynamic programming, or IDP for short. IDP has several important advantages: First, IDP-algorithms produce the best plans of all known algorithms in situations in which dynamic programming is not viable because of its high complexity. Second, some IDP variants are adaptive and produce as good plans as dynamic programming if dynamic programming is viable and as good-as possible plans if dynamic programming turns out to be not viable. Three, all IDP-algorithms can very easily be integrated into an existing optimizer which is based on dynamic programming.