Sql-Server-2008

即使索引存在於表中,查詢計劃仍顯示缺少索引

  • March 23, 2022

在我的一個生產 SQL 伺服器實例中,我遇到了一個問題。查詢需要很長時間才能執行。在檢查 SQL 查詢計劃時,我發現它給出了創建缺失索引的建議。我去了推薦的表,發現建議的索引已經存在於表中,但有些沒有被使用。定期進行維護計劃(重建索引、更新統計資訊等)。我不確定為什麼沒有使用索引?以及為什麼查詢計劃在已經存在的情況下繼續提供缺失索引的建議?任何幫助將非常感激。

根據您問題中的資訊,我認為您遇到了此部落格中引用的錯誤(缺少索引 DMV 錯誤,可能會損害您的理智……)並在此 Connect 項目中解決

根據部落格文章:錯誤是這樣的:缺少的索引程式碼可能會推荐一個已經存在的非聚集索引。一遍又一遍地。它還可能會推荐一個實際上對查詢沒有幫助的索引。

這仍然發生在 SQL Server 2019 中

我的缺失索引腳本確定了兩個影響很大的缺失索引

兩者都存在,據我所知是相同的

我刪除並重新創建了第一個

再次執行失去的索引腳本

我丟棄並重新創建的那個已經消失了——奇怪的是,我沒有碰過的那個也消失了

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