遅いクエリの最適化は、まず 実行計画(EXPLAIN / EXPLAIN ANALYZE)を見てボトルネックを特定するところから始めます。そのうえで、インデックス追加、クエリの書き換え、不要な処理の削減などを行います。
1. EXPLAIN で分析する
sql
EXPLAIN ANALYZE
SELECT * FROM orders WHERE customer_id = 5;
実行計画では次のような点を確認します。
text
Seq Scan → 全表走査。大きなテーブルでは遅くなりやすい
Index Scan → インデックスを使っている
Rows / Cost → 推定行数やコスト
Actual time → 実際の実行時間
