用語集
ロックろっく
他のトランザクションからのデータ操作を制限する仕組み。共有・占有の 2 種類。
ITパスポート
ロック(Lock)は、排他制御のために、トランザクションがデータに「錠」をかけ、他のトランザクションの操作を制限する仕組みです。
| 種類 | かける場面 | 他からの読み取り | 他からの書き込み |
|---|---|---|---|
| 共有ロック | 読み取り時 | 可(共存できる) | 不可 |
| 占有(排他)ロック | 書き込み時 | 不可 | 不可 |
たとえばあるトランザクションがデータを書き換えている間は占有ロックがかかり、他のトランザクションはそのデータの読み書きを待たされます。読み取りだけなら複数が同時に共有ロックを持てます。ロックをかける範囲(行・表など)を粒度といい、細かいほど並行性は上がりますが管理は複雑になります。
試験では 「共有ロック(読み取り・共存可)」と「占有ロック(書き込み・排他)」の違いが問われます。互いのロック解放を待ち合うとデッドロックになる点も押さえましょう。