A transformation-based approach to optimizing loops in database programming languages

  • Authors:
  • Daniel F. Lieuwen;David J. DeWitt

  • Affiliations:
  • Computer Sciences Department, University of WisconsinMadison, WI;Computer Sciences Department, University of Wisconsin

  • Venue:
  • SIGMOD '92 Proceedings of the 1992 ACM SIGMOD international conference on Management of data
  • Year:
  • 1992

Quantified Score

Hi-index 0.00

Visualization

Abstract

Database programming languages like O2, E, and O++ include the ability to iterate through a set. Nested iterators can be used to express joins. This paper describes compile-time optimizations similar to relational transformations like join reordering for such programming constructs. This paper also shows how to use a standard transformation-based optimizer to optimize these joins. An optimizer built using the EXODUS Optimizer Generator [GRAE87] was added to the Bell Labs O++ [AGRA89] compiler. We used the resulting optimizing compiler to experimentally validate the ideas in this paper. The experiments show that this technique can significantly improve the performance of database programming languages.