Sql-Server
零執行和零實際行的鍵查找如何花費時間?
我有一個大約需要 10 秒才能執行的查詢,我正在嘗試對其進行優化。
所有時間都花在鍵查找上,這很好,但是在這種情況下,如果我將滑鼠懸停在實際執行計劃中的鍵查找上,它會說
Expected Rows : 1 Estimated Executions : 3341 Actual Rows : 0 Executions : 0
我知道在這種情況下,統計資訊期望索引查找找到行,但由於索引查找中沒有返回任何行,為什麼鍵查找需要任何時間?甚至完全顯示在查詢計劃中?
“實際”計劃中顯示的每個運營商的百分比仍然是估計值。對“估計”的“實際”計劃的添加是實際的行數和操作員執行。
在您給出的範例中,密鑰查找估計執行 3341 次,這就是它具有高估計百分比成本的原因。
其他運營商之一真的很浪費時間。從 Sentry One 獲取(免費) Plan Explorer副本,這樣可以更輕鬆地確定位置。
如果沒有任何問題,請開始一個新問題並發布執行計劃 xml。