インデックス

断片化

断片化は、テーブルとテーブルに定義されたインデックスに対して、INSERT、UPDATE、DELETE ステートメントによるデータ変更が行われる過程で発生します。

  • 論理的な断片化

これは、インデックスのリーフ ページでの順序が不正なページの割合です。 順序が不正なページとは、インデックスに割り当てられている次の物理的なページと、現在のリーフ ページの次ページ ポインターが示すページが異なるページのことです。

  • エクステントの断片化

これは、ヒープのリーフ ページでの順序が不正なエクステントの割合です。 順序が無効なエクステントとは、ヒープの現在のページを含むエクステントの物理的な位置が、前のページを含むエクステントの直後でない状態のエクステントを指します。

断片化の検出

システム関数 sys.dm_db_index_physical_stats を使用して、特定のインデックス、テーブルやインデックス付きビュー上のすべてのインデックス、データベース内のすべてのインデックス、またはすべてのデータベース内のすべてのインデックスの断片化を検出できます。 使用例:

select 
	*
from 
	sys.dm_db_index_physical_stats(DB_ID(N'検出対象のDB名'), NULL, NULL, NULL , 'DETAILED')
	left join sys.objects on sys.objects.object_id = sys.dm_db_index_physical_stats.object_id
説明
avg_fragmentation_in_percent論理的な断片化 (インデックス内で順序が乱れたページ) の割合。
fragment_countインデックス内の断片化 (物理的に連続したリーフ ページ) の数。
avg_fragment_size_in_pagesインデックス内の 1 つの断片化内の平均ページ数。

最大のパフォーマンスを得るには、avg_fragmentation_in_percent の値をできるだけ 0 に近くする必要があります。 ただし、0 ~ 10% の値は許容範囲です。

断片化の程度がわかったら、次の表を使用して、断片化を解消するための最適な方法を決定します。

avg_fragmentation_in_percent 値断片化解消ステートメント
5 ~ 30%ALTER INDEX REORGANIZE
> 30%ALTER INDEX REBUILD WITH (ONLINE = ON)*


月額たった 1,050円で始められる本格的なお店のホームページ!

コメント:



(画像の文字列を入力して下さい)

トップ   編集 凍結 差分 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2019/12/02 (月) 12:42:17 (1627d)

PCpዾyǗlgĂ܂}WŔ܂z 萔O~ył񂫁z Yahoo yV NTT-X Store

z[y[W ̃NWbgJ[h COiq ӂ邳Ɣ[ COsیI COze