Processing operations with restrictions in RDBMS without external sorting: the Tetris algorithm

Volker Markl, Martin Zirkel, Raymond G. Bayer · 1999

Most operations of the relational algebra or SQL require a sorted stream of tuples for efficient processing. Therefore, processing complex relational queries relies on efficient access to a table in some sort order. In principle, indexes could be used, but they are superior to a full table scan only if the result set is sufficiently restricted in the index attribute. We present the Tetris algorithm, which utilizes restrictions to process a table in sort order of any attribute without the need for external sorting. The algorithm relies on the space partitioning of a multidimensional access method. A sweep line technique is used to read data in sort order of any attribute, while accessing each disk page of a table only once. Results are produced earlier than with traditional sorting techniques allowing better response times for interactive applications and pipelined processing of the result set. We describe a prototype implementation of the Tetris algorithm using UB-Trees on top of Oracle 8, define a cost model and present performance measurements for some queries of the TPC-D benchmark.

Read the paper · More papers on PaperTik