インデックスロック
出典: フリー百科事典『ウィキペディア(Wikipedia)』
インデックスロック(Index Locking)とは、データベースで使用されるロック手法の一種。データベースのテーブルを使用するタスクがテーブル全体をロックして他のタスクがアクセスできないようにするものである。「インデックス」のロックであるため、データ自体だけではなく、そのカラムに対応したインデックスをロックする必要がある。インデックスロックは、ある関数がテーブルを使っている間、それが変更されないことを保証することで衝突を防ぐ。
インデックスロックが必要となる状況として以下のような場合がある。
- ルートページに新たなレベルを追加するとき
- ルートページを縮小するとき
- ルートページの直下のオブジェクトを分割/縮小することによって、ルートページが更新されるとき
インデックスロックを必要としない状況として以下のような場合がある。
- インデックスレベルが3以下の小さなテーブルを使用している場合
- インデックスのルートページの変更が予測されている場合