具有公共子表達式假脫機的視窗聚合函數執行計劃中的高邏輯讀取
在執行計劃中經常觀察到大型表報告的高邏輯讀取利用公共子表達式線軸。工作表邏輯讀取的公式為:
Worktable Logical Reads = 1 + NumberOfRows * 2 + NumberOfGroups * 4
說明
與傳統的假脫機表不同,工作表以行讀取計數邏輯讀取,導致邏輯讀取計數膨脹。這是因為工作表位於伺服器內部,並且雜湊頁計數對於分析來說價值較低。
公式細分如下:
其他見解
Paul White 在他的部落格文章中解釋說該公式與執行計劃一致,其中兩個輔助線軸被完全讀取兩次,且主線軸發出(組數1)行。額外的行由主線軸發出,表示最終組的結束。
結論
工作表邏輯讀取的公式是理解膨脹邏輯的有用工具。在具有公共子表達式假脫機的執行計劃中觀察到的讀取計數。透過認識到工作表對邏輯讀取的計數不同,可以更輕鬆地解釋讀取統計數據並評估計劃的效率。
以上是為什麼我的視窗聚合查詢顯示高邏輯讀取?的詳細內容。更多資訊請關注PHP中文網其他相關文章!