Loading article…
データベース管理システムでは、ブロック競合(またはデータ競合)とは、複数のプロセスまたはインスタンスが同時に同じインデックスまたはデータブロックにアクセスするために競合することを指します。一般的に、これは非常に頻繁なインデックスまたはテーブルスキャン、または頻繁な更新によって発生します。2つ以上のインスタンスによる同時ステートメント実行も競合を引き起こし、その後ロックなしでプロセスを待機するビジー状態になる可能性があります。[1] [2]
ソリューション
- 削除、選択、または更新ステートメントによるテーブル ブロックの競合を減らすには、ブロックあたりの行数を減らします。これは、より小さいブロック サイズを使用することで実現できます。
- 挿入ステートメントによるテーブル ブロックの競合を減らすには、フリーリストまたはバッファ フレームの数を増やします。
- インデックス ブロックの競合を減らすには、逆インデックスを実装するのが最善の戦略です。
ほとんどの場合、目標は、クエリをより多くのブロックに分散し、単一のブロックに集中しないようにすることです。
参照
参考文献
