メインコンテンツへスキップ

2026-05-18 · 読了目安 1 分

コードレビューで SQL フォーマッタを使う

一貫した SQL の diff はノイズを減らし、ロジック変更をより早く見つけられます。

SQLレビューデータベース

重要ポイント

  • 使用エンジン(PostgreSQL、MySQL、SQLite)に合わせてダイアレクトを揃える。
  • 整形後は JOIN と WHERE を再読する — 構造変更でロジック編集を隠してはいけない。

レビュアーが気にする理由

整形されていない SQL はキーワードを頭の中で解析させ、意図しない直積や欠落した述語を隠します。

整形されたクエリなら CTE の境界と集約ステップを数秒で把握できます。

ダイアレクトを明示する

チームが PostgreSQL と MySQL を使い分ける場合は、副フィールドでダイアレクトを設定してください — 大文字小文字や関数名が異なります。

整形後、SQL クライアントに貼り付け、実行計画が想定外に変わっていないか確認します。

よくある質問

整形でクエリは壊れますか?

意味は保持されるはずですが、パフォーマンスに敏感なクエリはステージングで EXPLAIN を実行してください。

ストアドプロシージャも整形できますか?

可読性のためには可能ですが、本番以外の DB で実行をテストしてください。