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

選択性 — 障害 2: インデックスを追加したらタイムアウトが増えた

9割が同じ値を持つ列にインデックスを貼ると、なぜオプティマイザは判断を誤るのか。カーディナリティ、選択性、統計情報とヒストグラムを学びます。

無料プレビュー

前提: 第1章で作成した idx_customer が存在します。この章では、あえて選択性の低い status 列にインデックスを追加し、トラブルの原因を究明します。

この章で答える問い
  1. インデックスを追加したのに逆に遅くなるのはなぜか?
  2. オプティマイザは何を基準にインデックスを選ぶのか?
  3. 判断根拠となる統計情報が狂っているとき、どう対処するか?

ベースラインの測定: インデックスなしの基準性能

まずはインデックスが存在しない状態で集計クエリを実行し、後で比較するための実行時間と行数を測ります。

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

続きでは、約5秒のクエリがインデックス追加後に150秒超へ悪化する理由を、選択性と統計情報から特定します。

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

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

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

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