MySQL5逆引き大全460の極意

データ操作命令(SELECT以外)の極意 - Tips117 幻像読み込みとは

登録タグ
SQL
Icon comment count 0
Icon stock count 0

5-4トランザクション/ロックTips117 幻像読み込みとは

Level2

Point複数回の読み込みによって新たなデータが現れたり、消えたりする現象のことを言います。幻像読み込みは、分離レベルがREAD COMMITED以下である場合に発生する状態です

幻像読み込み(Phantom Read。ファントムリード)とは、あるトランザクションの中で複数回にわたって同一のデータを読み込んだ場合、別のトランザクションによって行われた挿入/更新操作によって、初回読み込みでは見えなかったデータが現れたり、逆に初回読み込みでは存在していたデータが消えてしまったりする現象のことを言います。読み込みの都度、データが現れたり消えたりすることを、Phantom(幻影)と表現しているのです。

用例1

用例1では、READ COMMITEDレベルで発生する幻像読み込みの発生を確認しています。ユーザAの挿入操作によって、ユーザBの側では初回読み込みでは見えなかったデータ(赤木三郎)が見えるようになったことが確認できます。

幻像読み込みを防ぐには、分離レベルとしてREPEATABLE

出典情報

Medium

MySQL5逆引き大全460の極意

  • 著者: 山田 祥寛

コメント

    コメントはありません