Optimizing loops in database programming languages

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

  • Affiliations:
  • -;-

  • Venue:
  • DBPL3 Proceedings of the third international workshop on Database programming languages : bulk types & persistent data: bulk types & persistent 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. We describe compile-time optimizations of such programming constructs that are similar to relational transformations like join reordering. Ensuring that the program's semantics are preserved during transformation requires paying careful attention to the flow of values through the program. This paper presents conditions under which such transformations can be applied and analyzes the I/O performance of several different classes of program fragments before and after applying transformations. The analysis shows that the transformations can significantly reduce the number of I/Os performed, even when both the initial and transformed programs use the same join method.