第二部 パフォーマンス編 · 第 6 章 · 約 25 分
ソートとページング — 障害 4: 注文一覧の 1,000 ページ目が開かない
Filesort が発生する条件とメモリ溢れ、OFFSET による大量スキップの線形コスト、そして高速なキーセットページング(シーク法)への書き換えを学びます。
無料プレビュー
前提: 第4章で作成した idx_customer と idx_customer_ordered_price が存在します。
この章で答える問い
- ORDER BY が一瞬で終わるときと遅くなるときの違いは何か?
- OFFSET はデータベース内部で何をしているのか?
- 深いページでも一定速度になるキーセットページングとは何か?
Sort ノードが発生する計画と、発生しない計画
まずは同じ結果を返すクエリで使うインデックスだけを変え、実行計画に Sort が現れる条件を比べます。
無料プレビューはここまで
続きでは、1ページ目は一瞬なのに1,000ページ目が止まる理由を、Sort と OFFSET から特定します。
ここからの学習は有料プラン(買い切り)となります
¥500 税込・買い切り(追加費用なし)
ご購入いただくと、第二部 2〜10 章(実行計画、選択性、複合インデックス、InnoDB の内部構造、ソートとページング、JOIN、書き込みコストと DDL、ロック、同時実行)の全編、すべてのラボの計測データ再生機能、および章末の理解度確認クイズをご利用いただけます。
※ ご購入時と同じ Google アカウントでログインすることで、すぐに続きを閲覧いただけます。デジタルコンテンツの性質上、購入後の返金は原則としてお受けできません。まずは無料の 13 章と各有料章のプレビューをお試しいただき、ご納得の上でご購入ください。