第二部 パフォーマンス編 · 第 7 章 · 約 25 分
JOIN — 障害 5: 商品別の売上画面が終わらない
Nested loop と Hash join の動作原理。loops が意味するもの、結合キー双方のインデックスの重要性、結合順序の違いがもたらす劇的な影響を検証します。
無料プレビュー
前提: 第4章で作成したインデックスを使い、order_items.product_id に新しいインデックスを作りながら検証します。
この章で答える問い
- 複数のテーブルをどちらから先に、どう結合しているのか?
- 実行計画の loops は JOIN のどこに現れるのか?
- 読む順番が逆なだけで、なぜ1,000倍も遅くなるのか?
準備: 商品を探すインデックスがない状態から始める
まずは order_items.product_id にインデックスがない状態を作り、遅い結合計画が選ばれる条件を再現します。
無料プレビューはここまで
続きでは、JOIN の読む順番だけで1,000倍遅くなる理由を、rows × loops から読み解きます。
ここからの学習は有料プラン(買い切り)となります
¥500 税込・買い切り(追加費用なし)
ご購入いただくと、第二部 2〜10 章(実行計画、選択性、複合インデックス、InnoDB の内部構造、ソートとページング、JOIN、書き込みコストと DDL、ロック、同時実行)の全編、すべてのラボの計測データ再生機能、および章末の理解度確認クイズをご利用いただけます。
※ ご購入時と同じ Google アカウントでログインすることで、すぐに続きを閲覧いただけます。デジタルコンテンツの性質上、購入後の返金は原則としてお受けできません。まずは無料の 13 章と各有料章のプレビューをお試しいただき、ご納得の上でご購入ください。