Sql-Server
手術費用重要嗎?
我有一個查詢,當我從 SSMS 和應用程序執行時,它的查詢速度很慢。我正在嘗試調整它。我採取了執行計劃,在檢查時我可以看到表上的聚集索引搜尋的成本是 85%。那個表只有兩列和一列被設置為主鍵。所以我猜在表上進行聚集索引搜尋很好。我應該關心操作的成本嗎?
是和不是。
在調整查詢時,顯示高成本的查詢通常是一個很好的起點。它們是查詢計劃者認為查詢會花費大量時間和精力來獲取查詢結果的地方。
但是,當您獲得實際的查詢數時,要檢查的關鍵事項之一是估計值和實際查詢的執行情況如何匹配。如果可能,首先要解決的問題之一是實際數字和估計數字之間存在很大差異的地方。例如,如果估計的行和實際的行有偏差,那麼擷取/更新相關表的統計資訊可能會帶來顯著的收益。
考慮到這一點,很可能是查詢計劃器預計不重要的事務,但估計數字遠小於實際數字的事務,是最需要調整的事務。
當估計和實際數字匹配得很好時,這些高成本操作再次成為您集中調整工作的好地方。但是,它們不應該是您唯一關注的事情。