SQL実践入門 の商品レビュー
昔の本のため、ページがすべて白黒でどこが重要なのかわからないし、色の強弱がないため読んでいて眠くなってくるし、頭に入らない。 実践入門と書いてあるが、入門向けではない気がする。
Posted by
いちいち章題が俊逸。 全編読み通した後に味わい深く感じれます。 あらゆるSQLを書く人たちに勧めたい一冊です。 目次 DBMSのアーキテクチャ──この世にただ飯はあるか SQLの基礎──母国語を話すがごとく SQLにおける条件分岐──文から式へ 集約とカット──集合の世界 ルー...
いちいち章題が俊逸。 全編読み通した後に味わい深く感じれます。 あらゆるSQLを書く人たちに勧めたい一冊です。 目次 DBMSのアーキテクチャ──この世にただ飯はあるか SQLの基礎──母国語を話すがごとく SQLにおける条件分岐──文から式へ 集約とカット──集合の世界 ループ──手続き型の呪縛 結合──結合を制する者はSQLを制す サブクエリ──困難は分割するべきか SQLにおける順序──甦る手続き型 更新とデータモデル──盲目のスーパーソルジャー インデックスを使いこなす──秀才の弱点
Posted by
業務でSQLのチューニングが必要となり購入。 著者は定評のあるDB本を多く執筆しているミックさん。 非常に読みやすく、実践にすぐ活かせる内容ばかりでとても参考になった。
Posted by
SQLを書かなきゃいけなくなったらまず一度読んでみてほしい。パフォーマンスとか難しい話はともかく、CASE文とかGROUP BYとかその辺の基本がザッと学べる。
Posted by
データベースの全体像に触れながら、実行計画を元に、実際に作成してしまうSQLの欠点や改善点に触れて解説が進んでいきます。 業務ルールをどこに持っていくかの論点はででなかったですが、それは、アプリケーションを作成する上で検討しないといけないところかと思いました。 複雑なSQLと...
データベースの全体像に触れながら、実行計画を元に、実際に作成してしまうSQLの欠点や改善点に触れて解説が進んでいきます。 業務ルールをどこに持っていくかの論点はででなかったですが、それは、アプリケーションを作成する上で検討しないといけないところかと思いました。 複雑なSQLとして捉えるのではなく、論理的に何を取得、加工しようとしているのかという観点で組み立てる、読み込んでいこうと思いました。
Posted by
SQLの基本的な使い方についてわかりやすく書かれている。 入門とされているが実務でも適用できる内容だと思う。 サブクエリの使い方やパフォーマンスを良くする改善例も書かれており、 もっと勉強すればSQLの使い方が楽しくなりそうだと思えるようになった。
Posted by
SQLは一通りの構文書けるが、パフォーマンスが気になるクエリを早くする方法があまり検討つかない、そういう人にはかなり適した本だと思う。 インデックスやキャッシュに関する記述も多少押さえられている。見所は素直な発想で出てこないクエリのIOバウンドを、EXPLAIN句を使って実際に見...
SQLは一通りの構文書けるが、パフォーマンスが気になるクエリを早くする方法があまり検討つかない、そういう人にはかなり適した本だと思う。 インデックスやキャッシュに関する記述も多少押さえられている。見所は素直な発想で出てこないクエリのIOバウンドを、EXPLAIN句を使って実際に見ていくことを徹底して、なおかつ複数の解法を示しながら比較していくところか。 サブクエリやLoop処理・隣接リスト構造を、ウインドウ関数や分割関数でシンプルかつ高パフォーマンスなクエリとして記述しており、この辺の記述がかなりコンパクトにまとまっているのも類書と比べても面白い。SQLの黒魔術本もいいが、RDBに特化しているという点でははじめに本書を熟読してからでも他のテクニカルなSQL本を読み始めるのは遅くなさそう。 それにしてもこういうSQLの最近の関数駆使した書籍読んでると、MySQLの関数貧弱さがやっぱ目に付くな。。。
Posted by
これで入門書と言われると、道は険しく果てしない感じがしてしまう。 ド級の初心者がこれで入門しようとしたら、 折れない気持ちを支える技術が身につくことは間違いない。 もちろんあわせてSQLの正しい技術も身につくのでお得ではある。 (以下抜粋。○:完全抜粋、●:簡略抜粋) ○SQL...
これで入門書と言われると、道は険しく果てしない感じがしてしまう。 ド級の初心者がこれで入門しようとしたら、 折れない気持ちを支える技術が身につくことは間違いない。 もちろんあわせてSQLの正しい技術も身につくのでお得ではある。 (以下抜粋。○:完全抜粋、●:簡略抜粋) ○SQLの世界のスキームは宣言型です。この世界では、主役は「文」ではなく「式」です。(P.98) ○RDBを考案したCoddは次のように言っています。 関係操作では、関係全体をまとめて操作の対象とする。 目的は繰り返し(ループ)をなくすることである。(P.125) ○SQLは、本省の最初で紹介したCoddの言葉からもわかるように 「脱・手続き型」を目指した言語です。 DBMSも内部的には手続き型言語で作られており、 実際の物理データへのアクセスは手続き的に行っているのですが、 その手続きレイヤを隠蔽することがSQLの理念でした。(P.159) ○「内部」が「直積の部分集合」という含意を持っていたことから類推できるとおり、 「外部」とは「直積の部分集合にならない」という意味です。(P.172) ○B-treeは、検索のアルゴリズムとしては飛び抜けて性能が良いわけではありません。 考案者の一人であるR.Bayerも、 「もし世界が完全に静的でデータが変化しないなら、 ほかのインデックス技術でも同程度のパフォーマンスは達成できるだろう」と言っています。(P.299)
Posted by
「SQL実践入門 高速でわかりやすいクエリの書き方」ミック ★★★★☆ ものすごい良書。「ITエンジニア本大賞 2016」でトップ10入り。 入門とありますが、SQLが普通に書ける人向け。 なんとなく知っている気になっている、コストとかインデックスとかがスッキリと落ちてきます。
Posted by
上司が辞めて、会社のデータベースを任されることになったので読んでみた。 SQLはある程度わかっているつもりではいたのだけど、本書を読んで分かってないことがまだまだあるということが分かった(今までウィンドウ関数すら知らなかった。何これすごい便利)。 更新処理が非同期ということも初め...
上司が辞めて、会社のデータベースを任されることになったので読んでみた。 SQLはある程度わかっているつもりではいたのだけど、本書を読んで分かってないことがまだまだあるということが分かった(今までウィンドウ関数すら知らなかった。何これすごい便利)。 更新処理が非同期ということも初めて知った。もしかして、会社で使ってるシステムで、重複して登録されないはずの処理で、重複して登録されてしまっているのはこれが原因なんだろうか。 それにしても、本書を読んで思ったけど、MySQLってよく聞くけど、あまり機能多くないように思えた。ROW_NUMBER関数ってすごい便利だなぁと思ったけど、MySQLでは使えないらしい。オープンソースのDBMSだと、PostgreSQLがよさそう。
Posted by
- 1