Skip to content
Latchkey

ファントムリードとは?

ファントムリードは、あるトランザクションが同じ範囲クエリを2回実行し、2回目の実行で別のトランザクションがその間に commit した余分な行が返される異常です。元の行は変更されませんが、結果セットが増えています。serializable 分離レベルのみがファントムリードを完全に防ぎます。

なぜ重要か

ファントムリードは、カウントしてから行動するような、トランザクション内でクエリ結果が安定していると仮定するロジックを壊します。存在を知っておくことで、serializable 分離が正当な場面がわかります。

関連ガイド