IT用語集 › データベース › Read Committed(リードコミッティド)

Read Committed(リードコミッティド)

データベース Svenska → 更新: 2026-10-21

最も一般的なトランザクション分離レベルで、PostgreSQLのデフォルト。クエリは開始時点でコミット済みのデータだけを見る。他のトランザクションの未完了の変更(ダーティリード)は見えないが、同じトランザクション内でもクエリごとに異なるスナップショットを見ることがある。

保証されるのはダーティリードが起きないこと。許容される異常は、ノンリピータブルリード(同じSELECTを2回実行すると、間に誰かがコミットした場合に結果が変わる)とファントムリード(新しい行が現れる)。PostgreSQLでは文ごとに新しいスナップショットが取られる。

トレードオフは、並行性が高くロックも少ない代わりに、Repeatable ReadやSerializableより整合性の保証が弱いこと。典型的な落とし穴が、Read Committedでの「読み取り→変更→書き込み」で、SELECT ... FOR UPDATE を使わないと更新の消失が起きる。ほとんどのWebアプリには十分だが、正確さが要求される場合はRepeatable ReadやSerializableへ引き上げる。

← 用語集に戻る