Sql-Server

零執行和零實際行的鍵查找如何花費時間?

  • August 12, 2017

我有一個大約需要 10 秒才能執行的查詢,我正在嘗試對其進行優化。

所有時間都花在鍵查找上,這很好,但是在這種情況下,如果我將滑鼠懸停在實際執行計劃中的鍵查找上,它會說

Expected Rows : 1
Estimated Executions : 3341
Actual Rows : 0
Executions : 0

我知道在這種情況下,統計資訊期望索引查找找到行,但由於索引查找中沒有返回任何行,為什麼鍵查找需要任何時間?甚至完全顯示在查詢計劃中?

“實際”計劃中顯示的每個運營商的百分比仍然是估計值。對“估計”的“實際”計劃的添加是實際的行數和操作員執行。

在您給出的範例中,密鑰查找估計執行 3341 次,這就是它具有高估計百分比成本的原因。

其他運營商之一真的很浪費時間。從 Sentry One 獲取(免費) Plan Explorer副本,這樣可以更輕鬆地確定位置。

如果沒有任何問題,請開始一個新問題並發布執行計劃 xml。

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