@hihihiroroのLog

ダラダラと。本ブログは、個人の意見であり、所属会社とは関係がありません。

「SQLの苦手を克服する本」を読んだ

転職後、データプラットフォームという名前の部署での仕事を始めてから1年がたった。
SQLを1日に数本は読んでいるが、基本的にそのSQLが正しいかどうかは実行してもらって動くかどうかで担保をしてもらっている。しかしそれだと、遅いクエリも動かしてしまうことになるし、読みにくいSQLが出来上がっていたとしても気が付かなくなってしまう。

そこで、SQLについて指摘ができるようになるため再度勉強しようと思い、まずはじめにこちらの本を手にとった。SQLは苦手と感じることもなくなんとなく書いているというのが今の状態だ。

最初から最後まで一貫して書かれているのはSQLは「集合指向言語」であるということ。

また、SQLを実行することによって表がどのように切り出されたり、くっついたりするのかが書かれていて実行した後の結果がとても想像しやすかった。自分が実行したものが何を行っているかを想像できるようになるのは大事だと思っているので、そこがわかりやすくて良かった。

アプリケーションを書くためのプログラミング言語とは言語の設計思想が違うことが何回も説明されている。そのため、アプリケーションで行うべき作業とデータベースで行うべき作業についての区別が説明がされている。ここを考えずにアプリケーションで処理を書いたがために性能に問題が起きてしまうということが例として説明されている。

後半ではアプリケーションとデータベースの役割分担について書かれていたり、アンチパターンの紹介、最後には開発の際に役立ちそうな情報を載せている。
僕は今回はSQLとデータベースについて知りたかったので、後半はサラサラと流すように読んだが昔アプリケーションを書いていたときにたしかにこんなことにハマったなとか、データベースのせいにしていたなとか思いながら楽しく読めた。

まとめ

  • データベースの内部構造について少し考えるようにしようと思った
  • パフォーマンスについて考える際の取っ掛かりになれば良いな
  • データベースによって違うだろうから自分たちが使っているものから勉強しようと

SQLアンチパターン

SQLアンチパターン

  • 作者:Bill Karwin
  • 発売日: 2013/01/26
  • メディア: 大型本