Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

sql server blocking operators

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

like image 641
gh9 Avatar asked Mar 14 '13 01:03

gh9


People also ask

What are blocking operations in SQL?

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.

What is SQL Server blocking?

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.

What is the difference between deadlock and blocking in SQL Server?

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.


1 Answers

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. :)

like image 62
Mordechai Avatar answered Oct 12 '22 16:10

Mordechai