あらすじ
※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。
本書は『Software Design』のデータベースに関連する特集記事を再収録した書籍です。
プロダクトに依存しないデータモデリングの基本をはじめ,基本命令文はもちろん,複雑な集計を行うSQLの書き方,MySQLを扱う際に必須となるデータ型/インデックス/トランザクション/デッドロック/レプリケーションの5大基本機能を解説しています。
さらに,AWSの人気データサービスであるAmazon RDSとAmazon DynamoDBの使い分けポイントも紹介。
現場ですぐに役立つデータベースの知識が身に付きます。
感情タグBEST3
Posted by ブクログ
<本のタイトル>
データベース速攻入門 ~モデリングからSQLの書き方まで (Software Design別冊)
<本の紹介>
(こんな方におすすめ)
・データベースについて基礎から勉強したい方
<何が書いてあったか(誰でも書ける)>
・インデックスが使用されない可能性のあるSQL文
WHERE句で
・NULLを条件に使用している
・否定の条件を使用している
・カラム列に演算を行っている
・カラム列にSQL関数を用いている
・LIKE演算子で「中間・後方一致」を行っている
・日付の条件指定
日付型に変更する際はCAST
日付から特定の部分だけ抽出する際はEXTRACT
・サブクエリは遅い、JOINを使うこと
サブクエリの結果テーブルにはインデックスが効かない
またサブクエリはネストが増え、可読性が落ちる
JOINは正しく使えばインデックスが効くので高速
・EXISTSとINの使い分け
INはまずサブクエリを実行する
サブクエリの結果が小さい場合はINを使う
EXISTは内部でJOINに近い動きをする
親クエリの結果が小さい場合はEXISTSを使う
<そこから何を学んだか(自分自身のオリジナルの意見)>
WHERE句で
・NULLを条件に使用している
・否定の条件を使用している
・EXISTSとINの使い分け
IN句の中にサブクエリを書いたら、まずサブクエリが実行される。
そのためサブクエリの結果が小さい場合はINを使うほうがよい
EXISTは内部でJOINに近い動きをする
親クエリの結果が小さい場合はEXISTSを使う
<それをどう活かすか(アウトプットによる実践経験の蓄積)>
WHERE条件でインデックスが効かない可能性のパターンを新しく知った。
またEXISTSとINの内部の動きの違いも知った。
ただいずれにしてもSQLの実行計画を毎回確認するのは絶対実施すべきと思った。