Estou usando:
- SQL Server Management Studio v18.1
- SQL Server 2017 CU9
- AdventureWorks restaurado a partir daqui
Consulta de teste:
USE [AdventureWorks];
GO
SELECT TOP (13) *
FROM Sales.SalesOrderHeader AS s
INNER JOIN Sales.SalesOrderDetail AS d ON s.SalesOrderID = d.SalesOrderID
WHERE s.TotalDue > 1000
OPTION (RECOMPILE);
GO
Ative o Plano de Execução Real (Ctrl+M). Olhando para a 'Busca de Índice Agrupado', vejo 13 of 17 (76%)
. Olhando para as propriedades que vejo Estimated Number of Rows
ou Estimated Number of Rows to be Read
valor é 3,85562. Minha pergunta é de onde vem esse número 17?
O número 17 vem do número estimado de linhas (por execução) multiplicado pelo número estimado de execuções.
No SentryOne Plan Explorer , * realizamos a conversão para você, para que as linhas estimadas simplesmente comecem em 17, não em 3,85562 (não tentei esse plano específico, mas é assim que a lógica no código deve funcionar). Eu descrevo o raciocínio por trás disso nesta postagem do blog , quando a correção apareceu pela primeira vez no Plan Explorer.