Data Provider for .NET Guide (v11)

ロック モードとレベル

データベース システムによって使用するロック モードは異なりますが、通常、「共有ロック」と「排他ロック」という 2 種類の基本モードがあります。共有ロックでは、複数のユーザーが単一オブジェクトを参照することが可能です。1 人のユーザーがレコードに共有ロックをかけると、2 番目に同じレコードにアクセスしたユーザーも共有ロックをかけることができます。ただし、2 番目のユーザーは、そのレコードに排他ロックをかけることはできません。排他ロックとは、そのロックを取得したユーザーへの独占的な権利です。1 人のユーザーがレコードに排他ロックをかけると、2 番目のユーザーは、同じレコードにどの種類のロックもかけられなくなります。

データベース システムで使用するロック レベルは、パフォーマンスと同時処理性にも影響します。ロック レベルによって、データベース内でロックされるオブジェクトのサイズが決まります。たとえば、データベース システムの多くで、テーブル全体、および個々のレコードをロックすることができます。また、ページ レベルのロック(ロック レベルは中程度)もよく使われます。1 ページには 1 つまたは複数のレコードが入っていますが、これは通常、1 回のディスク アクセスでディスクから読み取られるデータの量です。ページ レベルのロックの大きな欠点は、1 人のユーザーがレコードをロックすると、同じページに保存されているほかのレコードを 2 番目のユーザーがロックできないことです。


分離レベル

パフォーマンスの最適化を図る .NET アプリケーションの設計