SQL Execution Plan displays "Actual Number of Rows" which is larger than the size of the table

I have an execution plan for a rather complex join, which shows that the index search is performed in a table with an "Actual row count" of ~ 70,000, when in fact there are only about 600 rows in the table (the estimated number of rows is only 127 )

Note that all statistics are updated, and the input parameters for the request are exactly the same as the parameters that were entered when compiling proc.

Why is the actual row count so large, and what does the actual row count really mean?

My only theory is that a large number of rows are related to nested loops and that this index search is performed several times - the "Actual row count" really represents the total number of rows over all executions. If so, should the estimated number of lines also be the total number of lines over all executions?

+5
source share
2 answers

ActualRows counts the number of times GetNext () for a physical statement.

You should also look at ActualRebinds, ActualRewinds, and ActualEndOfScans to see how many times the inner loop has been reevaluated:

A rebind , , . A , .

+9

node exec. , .

+3

All Articles