DBCC SHOWCONTIG

排他制御の落とし穴を避けるインデックス設計
http://www.atmarkit.co.jp/fdb/rensai/drk05/drk05_1.html

を読んだ。このあたりは意識したことないので、いい刺激になった。

試しに普段使用しているシステム(SQLServer2000)のDBCC SHOWCONTIGを見てみると、驚くほど断片化されている結果となった。


DBCC SHOWCONTIG はテーブル 'OrderTBL' をスキャン中です...
テーブル : 'OrderTBL' (10786451) インデックス ID: 1 データベース ID:8
TABLE レベル スキャンが実行されました。
スキャンされたページ数................................: 7968
スキャンされたエクステント数..............................: 1025
切り替えられたエクステント数..............................: 5838
エクステントごとの平均ページ数........................: 7.8
スキャン密度 [最善 :実際].......: 17.06% [996:5839]
論理スキャン フラグメンテーション ..................: 39.56%
エクステント スキャン フラグメンテーション ...................: 80.20%
ページごとの平均空きバイト数.....................: 3290.8
平均ページ密度 (全体).....................: 59.34%


表示される値の意味が良くわからないので調査する。

SQL Server 2005 Books Online  
DBCC SHOWCONTIG (Transact-SQL)  
http://msdn2.microsoft.com/ja-JP/library/ms175008.aspx

こちらによると、

という読み方をするらしい。
断片化は80%超えてるし、密度の方は20%きってる。他のテーブルも似たような結果だった。
なにも考えずに使ってるとこんなもんなんだなぁ