トランザクション
5 コマンド
処理をまとめて確定・取消 BEGIN / COMMIT / ROLLBACK
トランザクションの開始・確定・取り消しを行う基本コマンド。ACID の I (独立性) を支える仕組み
途中に戻せる地点を作る SAVEPOINT
トランザクション内に中間保存点を作り、部分的にロールバックできる仕組み
同時実行の厳しさを決める 分離レベル (Isolation Levels)
READ UNCOMMITTED / READ COMMITTED / REPEATABLE READ / SERIALIZABLE の 4 段階と発生する異常現象
行やテーブルをロック ロック (Locking)
楽観的ロック vs 悲観的ロック、SELECT ... FOR UPDATE、SKIP LOCKED / NOWAIT の使い分け
デッドロックを避ける デッドロック (Deadlock)
複数トランザクションが互いのロックを待ち続けて止まる状態。検知とアプリ側のリトライが基本
