■select ~ for update;の挙動を確かめてみた
select文で選択したレコードに対して排他ロックをかけるのだが、実際に試したことがないので、検証してみた。
排他ロックとは、一方が操作している間、もう一方の「update,delete,select for update」とかを実行しようとするとブロックされること。
以下はブロックされる
update
delete
insert
for update
for share
・トランザクションA
・トランザクションB
select文はOKなんだね。
ただし、delete文については確かにロックによる待ちが発生。
以上。
0 件のコメント:
コメントを投稿