Sql-Server
查詢儲存中的查詢顯示高邏輯讀取
當我查看Top Resource Consuming Queries的 Query Store 報告時,有一個查詢嚴重扭曲了報告,以至於我幾乎看不到下一個查詢,因為這個查詢太高了。
最高的一個:總邏輯讀取:12956022792 執行計數:2458 計劃計數:6
下一個最高的:總邏輯讀取:76670280 執行計數:106 計劃計數:1
有哪些改進此查詢的建議?
- 刪除
OPTION(FORCE ORDER)
. 這極大地限制了優化器尋找好的計劃的自由。- 修改 Index Seek 索引以包含以下 Key Lookup 運算符(輸出列表和謂詞)中引用的列
- 擷取代表執行的實際(執行後)計劃。
OPTION (RECOMPILE)
如果不同的執行需要不同的計劃形狀才能很好地執行,或者OPTIMIZE FOR
主要情況的提示,請考慮添加。如果不出意外,請嘗試為有問題的案例制定執行後計劃,作為調整工作的基礎。