2014-05-09 20 views
0

我的數據庫的一個索引有時間流逝之後變得越來越慢的奇怪行爲。SQL Server緩慢索引之後的時間

即使我的維護計劃在所有用戶數據庫中包含「重建索引」步驟。一段時間後,它變得非常慢,我的整個應用程序/服務器網格停頓。

但是,當我在特定索引上進行手動重建時,查詢時間從幾分鐘到半秒鐘。

爲什麼維護計劃的「重建索引」步驟似乎跳過了這個索引,爲什麼它會手動工作? (維護計劃無誤地運行正常,每晚)

+0

維護作業運行以重建所有數據庫上的索引的代碼是什麼? – Ruslan

+0

您是否在系統上運行過跟蹤?檢查錯誤日誌? – Namphibian

+0

ALTER INDEX [NonClusteredIndex-20140414-121115] ON [DBO]。[產品]重建分區= ALL WITH(PAD_INDEX = OFF,STATISTICS_NORECOMPUTE = OFF,SORT_IN_TEMPDB = OFF,ONLINE = OFF,ALLOW_ROW_LOCKS = ON,ALLOW_PAGE_LOCKS = ON) 至少這就是維護計劃設計者告訴我的。 – Erik

回答

0

碎片化可以在索引編制方面產生很大的不同。您可能需要完全刪除索引並重新創建它們。

+0

如果我檢查索引的分段速度很慢,它實際上是0(0.86%,它是一個非常靜態的表格)。 – Erik

+0

什麼樣的索引到位?如果它是列存儲並且服務器真的很忙,它可能是IO。你是否使用任何INCLUDES索引?你可以請張貼表結構索引到位?這可能有助於看到它。 – Utrolig