What does arrow thickness mean in Execution Plans?

July 25, 2017 Execution Plans 2349 Views

/_include/blog-images/article-images/what-is-execution-plan-cartoon.jpeg

Arrows in an execution plan imply the flow of data from one operator to another. However, it is not the only thing they imply...


Do not discount Arrows; they are worth more than what they seem to be. Even their thickness imply some meaning.

One important thing arrows determine, via their thickness, is the amount of data being transferred from one operator to another. The thicker an arrow is, the more data is getting transfered.

The size of data implied by the arrow thickness is based on the number of rows, not on the size of data on disc. As an example, 100 rows of bits will result in a thicker arrow than 5 rows each of which is 5000 bits.

Let's see an example example:
The query below reads many rows from the BigData table, therefore the arrows in the Execution Plan that follows are pretty thick.
SELECT TOP 3000000 *
FROM BigData
Execution Plans Thick Arrow


Contrary to the previous query, the query below reads only one single row from the same table. Therefore, the arrows will turn to be very thin.
SELECT TOP 1 *
FROM BigData
Execution Plans Thin Arrow
How do you rate this topic?


Further reading:
Blocking vs Non Blocking operators
Actual Execution Plan hides some queries!!!
What is an Execution Plan ?
Some queries do not appear in Estimated Execution Plans.
What are the components of an Execution Plan?