Home » database » 索引(インデックス)の断片化の確認方法

索引(インデックス)の断片化の確認方法

索引(インデックス)の断片化の確認方法

 

B-Tree 索引(インデックス)は、B-Tree のレベル数(ルート・ブロックからリーフ・ブロックまでの階層)が高くなるとアクセス効率が低下します

 

データの削除が多く行われるとブロックの使用効率が低下して B-Tree のレベル数が高くなります

 

その場合は索引を再構築(REBUILD)する必要があります

 

索引のアクセス効率が悪いかは、以下のように INDEX_STATS ビューの HEIGHT(Bツリーの高さ)とDEL_LF_ROW/LF_ROWS(削除されたエントリーの割合)を確認します

 

index-fragmentation-status

◆確認ポイント

HEIGHT が4以上で DEL_LF_ROW/LF_ROWS が0.2を超える場合は効率が悪い可能性があります

この場合。索引の再構築(REBUILD)を行うことを検討して下さい

 

◆対処方法

インデックスの再作成は、ALTER INDEXコマンドに、REBUILD句を使用します

REBUILD句を使用した再作成は、インデックスの空きブロック埋めて、インデックスを作り直します

また、DROP INDEXコマンドで削除した後で、CREATE INDEXで再作成する方法もあります

index-rebuild