SQL Server 透過索引大幅加速資料存取。沒有索引時,引擎只能執行全表掃描,逐筆比對資料,效能極差。索引分為叢集索引(重新排序實體資料)與非叢集索引(維護資料指標),兩者結構皆為 B 樹。
隨著 INSERT/UPDATE/DELETE 操作,資料頁會發生分頁與頁面分割:
碎片化會導致讀取更多頁面、I/O 增加、快取利用率下降,嚴重時查詢效能可下降數倍。
使用 DBCC SHOWCONTIG 分析掃描密度、邏輯碎片百分比等指標,判斷是否需重建。若碎片嚴重,可執行 DBCC DBREINDEX 或 ALTER INDEX ... REBUILD 重建索引,消除碎片、更新統計資料,恢復最佳查詢計畫。
FILLFACTOR 預留空間,減少分頁頻率。sys.dm_db_index_physical_stats 動態管理檢視,自動化偵測與處理。索引維護不是選擇題,而是持續高效能的必要投資。