2010-02-25 59 views
1

我從一個非常大的表中刪除了一些行。然後,我運行了一個通常在幾秒鐘內運行的查詢,發現它在刪除行後運行得非常緩慢。我重新建立索引並運行查詢,發現它又快了。可以刪除這些行導致索引被分割?從表中刪除行導致索引碎片化?

回答

4

是的,刪除行會影響索引,並且應該進行維護以使索引與現有數據保持相對同步。

重建索引可能是不必要的 - 根據MS文檔,如果物理碎片爲30%或更多,則只需執行此操作。 REORGANIZE通常是一個更好的選擇 - 認爲它是破壞指數。

這是一個good article series on SQL Server Index Fragmentation

+0

謝謝你與我聯繫的頁面非常有幫助。 – Bmw 2010-02-25 19:26:15

+0

@ user203097:不客氣 – 2010-02-25 19:28:43

+0

@Brent Ozar:偉大的文章:) – 2010-02-25 19:29:57