Sql-Server

索引重建是否減少了從磁碟的物理讀取

  • July 10, 2018

最近我使用 Ola Hallengreen 腳本重建了 99% 碎片化的索引。重建後,我注意到物理讀取減少了很多。這與 Index Rebuilt 有什麼關係?

重建索引後,它的頁面更有可能立即記憶體在記憶體中。

考慮這種情況:

  1. 您的伺服器執行著各種各樣的查詢,並且各種各樣的表都記憶體在記憶體中
  2. 您執行一個查詢特定表的查詢 - 例如,表中的 COUNT(*) - 並且它的所有頁面都沒有記憶體在記憶體中。您的查詢會進行大量物理讀取以將該數據放入記憶體中。
  3. 你重建它的索引。
  4. 您再次執行查詢 - 但這一次,它的頁面現在記憶體在記憶體中。您會在該查詢上看到較少的物理讀取。

這是您不想使用物理讀取來衡量性能調整工作是否成功的原因之一。從使用邏輯讀取開始。(哎呀,你可以完全跳過第 3 步,你仍然會看到更少的物理讀取 - 但這並不意味著你應該執行每個查詢兩次以減少物理讀取。)

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