レッスン 6

SQL デバッグワークフロー

フィルタ、JOIN、パラメータ、方言固有の構文を切り分けて SQL を安全にデバッグします。

クエリが間違った行、多すぎる行、または行なしを返すとき、すべてを書き直すことから始めないでください。まず構造を読みやすくし、可変部分を切り分けます。

実践的なワークフロー

  1. SQL を整形し、句と JOIN を見えるようにする。
  2. ベーステーブルと最小限の有用な SELECT リストを確認する。
  3. オプションのフィルタを一時的に削除する。
  4. フィルタを一つずつ戻す。
  5. JOIN 条件とリレーションシップのカーディナリティを確認する。
  6. 安全なローカル環境で、アプリケーションパラメータを既知のリテラル値に置き換える。
  7. 日付関数、引用、JSON 演算子など方言固有の構文を確認する。

このワークフローは安全であるのに十分遅く、本番デバッグには十分速いです。

フォーマットと実行を分離する

フォーマッタは、サポートされた文法でテキストが解析可能かどうかを示せます。次のことは分かりません。

  • テーブルがデータベースに存在するか
  • 選択列にインデックスがあるか
  • パラメータが期待する値を持っているか
  • クエリがプロダクトにとって意味的に正しいか

この境界が重要です。フォーマッタは可読性に使い、データベースコンソール、ログ、EXPLAIN プラン、テストで実行挙動を確認します。

要点

既知の正常なコアにクエリを縮小し、意図的に複雑さを戻すと、多くの SQL デバッグが管理可能になります。

コピーしたクエリが安全にデバッグするには密すぎるとき、SQL Formatter を最初のステップとして使ってください。

実践したいときは関連する DevCove ツールを使えます。任意であり、このレッスンの必須部分ではありません。

関連ツールを開く

コース概要へ戻る