問題タブ [read-committed]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
13 参照

sql - InnoDB はどのように READ COMMITTED LEVEL でレコード ロックを取得および保持しますか

mysql-refman-5.7、14.7.2.1 トランザクション分離レベル、次のように述べています。

READ COMMITTED の下で、

  1. 「UPDATE または DELETE ステートメントの場合、InnoDB は更新または削除する行に対してのみロックを保持します。一致しない行のレコード ロックは、MySQL が WHERE 条件を評価した後に解放されます。」
  2. ただし、WHERE 条件にインデックス付きの列が含まれ、InnoDB がインデックスを使用する場合、レコード ロックを取得および保持するときに、インデックス付きの列のみが考慮されます。

では、1 番目の説明は 2 番目の説明と矛盾しますか?

次に例を示します。

では、セッション A は b=3 のすべてのレコードをロックしますが、b=3 と c=3 のレコードだけをロックしないのはなぜでしょうか?