Is there a list of all blocking operators? The only clear cut way I know to verify an operator is blocking is to check its properties and see if the data is sorted. Is this the only way to verify if an operator is blocking?IF not, what are the other ways of verifing that an operator is blocking?
A blocking operator will need to process all rows before the data is passed on, while a non-blocking operator will pass rows to other operators and soon as it is read and processed.
below is definition of blocking vs non blocking
Iterators that consume input rows and produce output rows at the same time (in the GetRow method). We often refer to these iterators as “nonblocking.”
Iterators that consume all input rows (generally in the Open method) before producing any output rows. We refer to these iterators as “blocking” or “stop-and-go.”
WHY I NEED THIS INFO Mostly Curiosity and personal knowledge. I am not doing anything crazy with it. Just read about blocking vs non blocking operators and would like to know which operator does which.
This is just for SSMS query plans
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.
As mentioned previously, in SQL Server, blocking occurs when one session holds a lock on a specific resource and a second SPID attempts to acquire a conflicting lock type on the same resource. Typically, the time frame for which the first SPID locks the resource is small.
Like blocking, a deadlock involves two processes that need specific resources to complete. However, unlike blocking, the two processes are not trying to get the same resource. A deadlock occurs when Process 1 is locking Resource A and Process 2 is locking Resource B.
have you seen this: http://blogs.msdn.com/b/craigfr/archive/2006/06/19/637048.aspx ? BTW, off the topic, stackoverflow seems to think that short answers can not be good. It has a 30 char minimum. :)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With