SQL Scale Lab
第二部 パフォーマンス編 · 第 9 章 · 約 35 分

ロック — 障害 6: セール開始直後に注文が失敗する

行ロック待機、逆順ロックによるデッドロック、ネクストキーロックとギャップロックの挙動、インデックスのない更新がテーブル全体を止めてしまう怖さを体験します。

無料プレビュー

前提: 在庫テーブル stocks を、独立した2つのデータベース接続から同時に操作します。

この章で答える問い
  1. 同じ在庫を2つの接続から更新すると何が起きるのか?
  2. 待機がタイムアウトへ変わる境界はどこで決まるのか?
  3. アクセス集中と、ロックを握ったまま離さない状態は何が違うのか?

同一レコードに対する2つの接続からの更新

片方の接続が在庫を更新したまま確定せず、もう片方も同じ行を更新するときの待機状態を再現します。

無料プレビューはここまで

続きでは、CPUにもディスクにも余裕があるのに注文だけが止まる原因を、2つの接続で再現します。

ここからの学習は有料プラン(買い切り)となります

¥500 税込・買い切り(追加費用なし)

ご購入いただくと、第二部 2〜10 章(実行計画、選択性、複合インデックス、InnoDB の内部構造、ソートとページング、JOIN、書き込みコストと DDL、ロック、同時実行)の全編、すべてのラボの計測データ再生機能、および章末の理解度確認クイズをご利用いただけます。

※ ご購入時と同じ Google アカウントでログインすることで、すぐに続きを閲覧いただけます。デジタルコンテンツの性質上、購入後の返金は原則としてお受けできません。まずは無料の 13 章と各有料章のプレビューをお試しいただき、ご納得の上でご購入ください。