moca.py

tech blog

SQLの苦手を克服する本

だいぶ前ですがこちらを読み終えました。

この本はSQLに対して苦手意識、ついつい面倒と思ってSQLを避けてしまう方が読むべきだろうと思いました。

ポイントとしては以下の通りです。

  • SQLとデータベースの再入門する
  • アプリケーションとデータベースの役割と効率化
  • 間違ったデータベースの設計
  • 開発効率を上げるためには

SQLとデータベースの再入門する
今までなんとなくSQLを書いてきたら実は非常に効率が悪いといった内容が書かれてあります。

具体的には
最初はごくごく初歩的なことでSQLで処理すればいいものを、プログラミングでfor文で回してしまい 何度もSQLを発行したことで処理時間がすごい時間がかかってしまう話とかが書かれています。
これは去年の初期くらいに仕事の現場で指摘を受けたこともあるのですごく心当たりがありました。 こういうのは教わらないとなかなか気づけないなと思いました。

あとは抽出と結合についてやINとEXISTSどう使い分けるかを分かりやすく説明してくれていたり SQLが苦手な場合はエクセルで操作イメージを掴む方法について丁寧に解説されてます。



アプリケーションとデータベースの役割と効率化
アプリケーションとデータベース担当は分けた方がいいなどの話しが記載されており、 なぜほとんどの会社がそうなってないのかは今までのITで黒歴史があるそうです。


あと今までモヤモヤしてたRDBとNoSQLの違い
今までどういった違いかがいまいち分かっていませんでした。
ここでNoSQLの使いどころがようやく分かりました。


間違ったデータベース設計
具体的にはSQLだとループは分かりにくいからアプリでやろうとすると効率が悪くなっていってしまう話が書かれてあります。


よくデータベース周りでよく問題となりそうな感じの内容が豊富に書かれてる内容でした。 この辺りは、何かあったら必要に応じて読み返すのが良さそうな内容でした。

開発効率を上げるためには
例を挙げると

  • 詳細仕様書は書く必要がないことについて
  • ORマッパーの使い所

などが書かれてあり、ここでも実務でやるうえでどこかで助けになりそうな内容でした。



この書籍で書かれている
ついついSQLから逃げてしまうこと で結果的に処理効率が悪くなったりするそうです。 また現場によってJOINの利用禁止!なんてこともあるそうでそれも結果として効率が悪くなるとか。
確かに知らないことがあると面倒に思って避けてしまうことは結構あったりしましたが、今後はきちんと向き合おうと思いました。
ただ本の表紙や内容にも書かれてある通りデータの操作がイメージできれば誰でもできるとのことです。


SQLだと最近オンラインで試せるこんなサービスもでたようです。
正月に購入して反復練習にはちょうどいい教材でした。
gothedistance.hatenadiary.jp