5年バックエンドエンジニアをやっておられるのであれば、SQL の基本文法はあらかたご存知なのではないかと勝手ながら推測します。

基本文法は他の回答者の方が仰っておられる様に、以下の記事に幾らかリストアップされている学習サービスで学ばれるのが良いと思います。

その上で SQL 力を上げたいのであれば、それは読み物に頼るかご自分で色々と試してみるほかないと思います。基本文法の学習以降で SQL 力を上げるのであれば、それはパフォーマンスチューニングだと思います。

SQL でパフォーマンス改善するには幾らか手法がありますが、おおよそは以下の数個に絞られます。

  • フルスキャンを避ける事

  • インデックスを適切に張る事

  • 集約関数や分析関数の利用

  • 速い演算子や副問合せへの書き換え

なぜ速い演算子に書き換えるべきなのか、なぜ分析関数が必要のか、なぜフルスキャンを避けるべきなのか、なぜインデックスを張るとパフォーマンスが改善するのか、そして適切にインデックスを貼らないどうなるのか、といった内容は読み物として調べ、実際に試されるのが良いと思います。

一例を上げますとインデックスは張るだけで表引きについてはすぐにパフォーマンスが改善できるのですが、それはつまりデータ挿入時にインデックスを登録する事になるので、INSERT が遅くなったりデータ容量が増えたりします。

その辺りを経験して知見として持ちつつ要件にマッチするよううまく改善できるかがデータベースエンジニアとしての成長になると思います。残念ながら僕はウェブのサービスでこれらを体系的に学べる物を知りません(あるかもしれません)が、チュートリアルサイトは幾らかある様に思います。インデックスやフルスキャンといったキーワードを使って検索頂き、チュートリアルサイトを確認頂くのが良いと思います。

24日24日更新

利用規約プライバシーポリシーに同意の上ご利用ください

mattnさんの過去の回答
    Loading...