[SQL 2005 DMV] Index Defragmentation

在資料庫中如果有資料量大或異動頻繁的table,其資料可能散佈在硬碟四處,因而影響查詢效能,所以通常資料庫每隔一陣子要Index Defragmentation。下面的指令可以從dmv查詢Avg_Fragmentation_In_Percent超過30%的index,然後作適度的處理(不論是index rebuild或reorg)。當然也可以將這個查詢寫成store procedure,讓系統定期做index Defragmentation。

SELECT A.object_id,
A.index_id,
name,
Avg_Fragmentation_In_Percent
FROM sys.dm_db_index_physical_stats (db_id(), NULL,NULL, NULL, NULL) AS A
JOIN sys.indexes B WITH(NOLOCK)
ON A.Object_id = B.Object_id
AND A.Index_id = B.Index_id
WHERE Avg_Fragmentation_In_Percent >= 30
AND B.[name] IS NOT NULL

相關文章

如何將電腦畫面經由 Chromecast 投放到電視螢幕上

Chrome 的檔案續傳功能

隱私權政策產生器 Privacy Policy Generator

使用 Vysor 在電腦上控制 Android 裝置