Execution-Plan

圖形實際執行計劃 - 估計與實際行數

  • July 23, 2019

我在用:

測試查詢:

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

打開實際執行計劃 (Ctrl+M)。看著“聚集索引搜尋”,我看到了13 of 17 (76%)。查看我看到Estimated Number of RowsEstimated Number of Rows to be Read看重的屬性是 3.85562。我的問題是這個數字 17 是從哪裡來的?

實際執行計劃

在此處輸入圖像描述 在此處輸入圖像描述

數字 17 來自估計的行數(每次執行)乘以估計的執行次數。

3.85562 * 4.37149  =  16.8548043  ~=  17

SentryOne Plan Explorer中,*我們為您執行轉換,因此估計行僅從 17 開始,而不是 3.85562(我沒有嘗試這個特定計劃,但這就是程式碼中的邏輯應該如何工作)。我在這篇博文中描述了這背後的原因,早在修復首次出現在計劃資源管理器中時。

*免責聲明:我為 SentryOne 工作。

引用自:https://dba.stackexchange.com/questions/243579