お世話になります。
mysqlのinnoDBにはネクストキーロックがあると思います。
例えば、
id | name |
---|---|
5 | hoge |
8 | fuga |
15 | haga |
などとあった場合、
トランザクション1で
select * from where id
<= 10 for update;
とすると
トランザクション2でinsert処理をするときに
idの1〜15までが待ち状態になると思います。
ネクストキーロックは同一トランザクション内で複数行ったselectに矛盾(ファントムリード)を出さないためのものだと思いますが、ここで、15までロックをかけること理由がしらべてもよく分かりません。
1~9までロックをかければ問題ない気がするのですが。。。
教えていただけますでしょうか。1
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/01/12 08:00
2018/01/12 08:10