2006年09月11日

sys.dm_db_index_physical_stats

  
データベース(SQL Server 2005)で、データの挿入削除を繰り返していると、インデックスの断片化が
発生しますが、そのときの情報を取得するのがこのsys.dm_db_index_physical_stats関数。

指定したテーブルまたはビューのデータとインデックスに関する、サイズおよび断片化情報を返します。
使い方はこんな感じ

SELECT * FROM sys.dm_db_index_physical_stats
(DB_ID(), OBJECT_ID('Persons'), NULL, NULL , 'LIMITED');

DB_ID() は、引数を省略すれば、現在のDBのIDが返ります。
OBJECT_ID には、テーブルやビューの名前を指定します。

OBJECT_ID(N'AdventureWorks.Production.WorkOrder')

のように、データベース名から指定してもOK。

3,4番目は、通常 NULL を指定しておけば問題ないと思います。

最後の引数は、LIMITED、SAMPLED、DETAILED のいずれかです。
テーブルまたはインデックスの断片化レベルのサイズをすばやく計測するには、
LIMITED モードを使用します。LIMITED モードは最も高速です。


 

この記事へのトラックバックURL