SQL・JOIN・実行計画
振り返り・解説:SQLと実際の実行計画で復習する — 回答記録・次回課題・段階的なlabをまとめています。
注文一覧に顧客名を表示すると急に遅くなりました。SQLとアプリのどちらから、何を確認しますか?
詳細な解説や模範解答を読む前に、まず自分の仮定と判断を口頭で説明する。
学習の切り口
Section titled “学習の切り口”- Learn:N+1とJOINを、自分の言葉と小さな例で説明する。
- Practice:最初の問いについて、要件確認 → 初案 → 理由 → 代替案を説明する。
- Interview:単発SQLは速いのにAPIは遅い、あるいは特定パラメータだけ遅いなら?
- Production:trace、query回数、plan、待機をどう結び付けますか?
判断を見直す観点:N+1とJOIN/推定行数と実測行数/sort・集計・返す行数。
この題でセッションを始める
Section titled “この題でセッションを始める”tech2026 の CHATGPT.md と reviews/database-query-plans.yaml、src/content/docs/topics/database/query-plans.md を読み、database-query-plans の interview を始めてください。最初はこのページの最初の一問だけを出し、私の回答を待ってください。以降は回答に応じて条件を一つずつ変え、理由とtrade-offを聞いてください。終了時は実際の回答を根拠に、CHATGPT.mdと既存テンプレートに従ってYAML+Session narrativeを含む [Session Sync] GitHub IssueをMFQWKMR4/tech2026に作成し、URLを返してください。作成できない場合は未作成と明示し、コピー可能なタイトルと本文を返してください。基礎からなら interview を learn、設計練習なら practice に変更する。口頭で15〜20分を目安に、一回は一つの判断に絞る。
GitHubを読めない場合は npm run session:pack -- database-query-plans の出力を貼る。
一次資料への入口
Section titled “一次資料への入口”公式資料 — EXPLAINと統計を起点に、実行計画を読むための資料。
資料確認日:2026-09-07。これは出題の入口で、学習済み・実験済みを意味しない。 AIは未提示の要件を事実として補わず、回答後に必要な資料を確認する。