第二部 パフォーマンス編 · 第 4 章 · 約 30 分
複合インデックスとカバリング — 障害 3: 購入履歴の月次集計が遅い
「特定顧客の直近 30 日分」を最速で取得するインデックス設計。複合インデックスの列順序の原則と、テーブル本体を読みに行かないカバリングインデックスを体感します。
無料プレビュー
前提: 第1章で作成した idx_customer が存在します。ここから複合インデックスとカバリングインデックスの挙動を検証します。
この章で答える問い
- インデックスがあるのに、なぜ読んだ行の大半を後から捨てるのか?
- 複数列を組み合わせたインデックスは、内部でどう並ぶのか?
- テーブル本体を読まずに完了するカバリングインデックスとは何か?
問題の確認: インデックスがあるのに Filter が発生する理由
まずは1人分の直近30日間を集計し、customer_id で読んだ行数と、日付条件で最後に残る行数を実行計画で比べます。
無料プレビューはここまで
続きでは、読んだ6.5万行の93%を捨てる計画を、必要な4,600行だけ読む形へ変えます。
ここからの学習は有料プラン(買い切り)となります
¥500 税込・買い切り(追加費用なし)
ご購入いただくと、第二部 2〜10 章(実行計画、選択性、複合インデックス、InnoDB の内部構造、ソートとページング、JOIN、書き込みコストと DDL、ロック、同時実行)の全編、すべてのラボの計測データ再生機能、および章末の理解度確認クイズをご利用いただけます。
※ ご購入時と同じ Google アカウントでログインすることで、すぐに続きを閲覧いただけます。デジタルコンテンツの性質上、購入後の返金は原則としてお受けできません。まずは無料の 13 章と各有料章のプレビューをお試しいただき、ご納得の上でご購入ください。