Blocking versus non-blocking operators

We can think of an execution plan as a pipeline. Data from one operator flows to the next operator from right to left. A blocking operator is one where the entire input must be consumed, and the operation completed before the first row can be output to the next operator. An example of a blocking operator is a sort. When data is sorted, it is impossible to know what the first-row output by the operator should be until the entire sort is complete. A non-blocking operator is one where data may be output to the next operator in the plan before the operation is complete. When there are no blocking operators in a plan, data can flow through the plan uninterrupted, and results will be returned from the query ...

Get Learn T-SQL Querying now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.