良いSQLを書くためにとりあえずこれさえ気にすればOKというポイントをまとめてみた。
といってもこれを完璧にこなすのは筆者も難しい時けっこうあるけど。後から見たら「汚っ」ってなることもバグを出すこともしばしば。プログラミングって難しい。
要件を明確にする
SQLを書く前に、何を求めるか、どのようなデータを取得したいのかを明確にします。具体的に、どのテーブルから、どのカラムを、どの条件で取得するのかを定義しましょう。
まあぶっちゃけ要件分からなかったらSQLなんて書けないよね。
インデックスを活用する
大量のデータを検索する場合は、検索速度を上げるためにインデックスを活用することが重要です。インデックスを設定することで、検索速度を飛躍的に向上させることができます。

インデックスがいまいちよく分かりません
インデックスは、データベースのテーブルにおいて、検索の高速化や並べ替えの高速化を実現するために使用されるデータ構造です。通常、主キーや一意キーにインデックスが作成されますが、検索に使用される列に対してインデックスを作成することで検索のパフォーマンスが向上します。
また、インデックスは、適切に作成されていない場合には、データベースのパフォーマンスを低下させることもあります。そのため、インデックスの作成方法や適切な使い方について学ぶことも重要です。
パフォーマンスを意識する
SQLを書く際には、パフォーマンスにも注意を払いましょう。例えば、不要なJOINを避けたり、不要なカラムを取得しないようにしたりすることで、SQLの処理速度を向上させることができます。不要な分を減らすことは可読性にも効果があります。
正しい構文を使う
SQLには様々な構文がありますが、正しい構文を使うことが重要です。誤った構文を使うと、正しい結果を得られなかったり、パフォーマンスが悪化したりすることがあります。
セキュリティに気を配る
SQLインジェクション攻撃に注意しましょう。SQLインジェクション攻撃とは、Webアプリケーションに対してSQLを埋め込むことで、不正なアクセスを行う攻撃のことです。SQLを書く際には、入力値を正しくバリデーションすることで、セキュリティを確保しましょう。