Encyclopedia of Database Systems

Living Edition
| Editors: Ling Liu, M. Tamer Özsu

Stop-&-Go Operator

Living reference work entry
DOI: https://doi.org/10.1007/978-1-4899-7993-3_1558-2



A Stop-&-Go operator, or non-pipelineable operator, is a relational operator which cannot produce any result tuples unless it has consumed all of its input. A typical Stop-&-Go operator is the Sort operator. The usage of Stop-&-Go operators in the query execution plan limits the degree of operator-level parallelism.

Key Points

Some relational operators need to consume their entire input before they are able to produce tuples. These operators are called Stop-&-Go or non-pipelineable operators. A typical example of a Stop-&-Go operator is the Sort operator. To sort a set of tuples, the entire input set needs to be consumed before the operator can output the tuples in sorted order. There are many Stop-&-Go operators, such as various flavors of Join and Aggregation. For example, Hash Join is a Stop-&-Go operator because the Probe phase cannot start unless the Build phase has finished. Similarly, Sort-Merge Join is a Stop-&-Go operator because...

This is a preview of subscription content, log in to check access.

Recommended Reading

  1. 1.
    Graefe G. Encapsulation of parallelism in the volcano query processing system. In: Proceedings of the ACM SIGMOD conference on management of data; 1990, p. 102–11.Google Scholar
  2. 2.
    Johnson R, Hardavellas N, Pandis I, Mancheril N, Harizopoulos S, Sabirli K, Ailamaki A, Falsafi B. To share or not to share? In: 33rd international conference on very large data bases; 2007, p. 351–62.Google Scholar

Copyright information

© Springer Science+Business Media LLC 2016

Authors and Affiliations

  1. 1.Carnegie Mellon UniversityPittsburghUSA