sql-serversql-execution-plan

In SQL Server actual execution plan what does x of y (z%) refer to?


I am looking at the actual execution plan of

SELECT * 
FROM dbo.Parcels pr 
WHERE (pr.Barcode = 'AB123456789DE')

and the actual execution plan contains an operator (index seek nonclustered) which has below it "1 of 16 (6%)"

enter image description here

1 is for the 1 row returned.

But 16? It cannot be rows, because there are 700k rows in that table. Is it pages?

I look at the documentation here.

I didn't find anything useful under index-seek.


Solution

  • This is the "actual rows for all executions" for the operator as a percent of the "estimated rows for all executions".

    In the case that the estimates are perfect then this is a kind of "pct complete" indicator for the operator when looking at live query plans.

    If the estimates are perfect then this will read 100% at the end of query execution.

    Where there was a discrepancy between estimated and actual the final pct will be higher or lower than that however.

    In your case it estimated 16 rows would be returned by the index seek. Only one was returned in reality. This error propagates throughout the plan as it no longer has to do 16 key lookups and just does one and the final rows returned is only one.