Efficient processing of window functions in analytical SQL queries

Viktor Leis, Alfons Kemper, Kan Kundhikanjana, Thomas Neumann

Research output: Chapter in Book/Report/Conference proceedingChapterpeer-review

37 Scopus citations

Abstract

Window functions, also known as analytic OLAP functions, have been part of the SQL standard for more than a decade and are now a widely-used feature. Window functions allow to elegantly express many useful query types including time series analysis, ranking, percentiles, moving averages, and cumulative sums. Formulating such queries in plain SQL-92 is usually both cumbersome and inefficient. Despite being supported by all major database systems, there have been few publications that describe how to implement an efficient relational window operator. This work aims at filling this gap by presenting an efficient and general algorithm for the window operator. Our algorithm is optimized for high-performance mainmemory database systems and has excellent performance on modern multi-core CPUs. We show how to fully parallelize all phases of the operator in order to effectively scale for arbitrary input distributions.

Original languageEnglish
Title of host publicationProceedings of the VLDB Endowment
PublisherAssociation for Computing Machinery
Pages1058-1069
Number of pages12
Edition10
DOIs
StatePublished - 2015
Event3rd Workshop on Spatio-Temporal Database Management, STDBM 2006, Co-located with the 32nd International Conference on Very Large Data Bases, VLDB 2006 - Seoul, Korea, Republic of
Duration: 11 Sep 200611 Sep 2006

Publication series

NameProceedings of the VLDB Endowment
Number10
Volume8
ISSN (Electronic)2150-8097

Conference

Conference3rd Workshop on Spatio-Temporal Database Management, STDBM 2006, Co-located with the 32nd International Conference on Very Large Data Bases, VLDB 2006
Country/TerritoryKorea, Republic of
CitySeoul
Period11/09/0611/09/06

Fingerprint

Dive into the research topics of 'Efficient processing of window functions in analytical SQL queries'. Together they form a unique fingerprint.

Cite this