SQLフォーマットとクエリの読みやすさ — インデント・大文字化の慣例
SQLはデータベースの操作言語で、整形されていないクエリは長さに関係なく非常に読みにくくなります。適切なフォーマット(インデント・キーワードの大文字化・改行)によって可読性を大幅に向上させ、デバッグや共同作業を効率化できます。
SQLフォーマットの慣例
SELECT・FROM・WHERE・JOIN・GROUP BY・ORDER BY・HAVINGなどのSQLキーワードは大文字で書くのが一般的です。列名・テーブル名・エイリアスは小文字またはスネークケースが多く使われます。各キーワードを新しい行の先頭に揃えるとSELECT節・FROM節・WHERE節が明確になります。
インデントと複雑なクエリの整形
サブクエリ・CASE式・WITH句(CTE)などはインデントで入れ子構造を表現します。JOINが複数ある場合はON条件をJOINと同じ行またはインデントして続けます。長いWHERE条件はAND/ORで改行して揃えると読みやすくなります。SQL Formatterはこれらのフォーマット規則を自動適用します。
MySQL・PostgreSQL・SQLiteの方言
SQLには標準SQLの他にデータベースごとの方言があります。文字列結合はMySQLがCONCAT()・PostgreSQLが||・SQLiteが両方対応します。日付関数はデータベースによって大きく異なります。SQL FormatterはMySQL・PostgreSQL・SQLiteの構文を意識したフォーマットに対応しています。
パフォーマンスとインデックスの基礎
クエリのパフォーマンスはインデックスの有無に大きく依存します。WHERE句の条件に使うカラム・JOIN条件・ORDER BYのカラムにはインデックスを作成することを検討します。EXPLAIN(MySQL・PostgreSQL)でクエリの実行計画を確認し、フルスキャンが発生していないかを確認します。整形されたSQLはEXPLAINの結果と対応づけて理解しやすくなります。