- 作者: John L. Viescas,Douglas J. Steele,Ben G. Clothier,株式会社クイープ
- 出版社/メーカー: 翔泳社
- 発売日: 2017/12/20
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (3件) を見る
冒頭で書籍紹介。SQLパフォーマンス詳解
- 作者: Markus Winand
- 発売日: 2015/09/14
- メディア: ペーパーバック
- この商品を含むブログを見る
インデックスなどの説明が詳しい他の本。
様々な実装のインデックスなど日本語で説明している本は少ないとか?
MySQLはnested loop結合しかない
中間一致の条件を使うとBTreeが使えない
like '%ELLE%'
- 主キーのインデックスはリーフノードに値を持つ
- 主キー以外のインデックスはリーフノードに主キーの値をもつ
- セカンダリーインデックス
- 多量のデータを検索する場合はインデックスが使われないものもある
- 実装にもよるけど、数10パーセントの量とか
MySQLでは、インデックス宣言のASCキーワードとDESCキーワードは無視される
とあるが、MySQLは8.0から対応している
MySQLのchange buffer(index更新の最適化)
冗長なインデックスの例
- index(col1)
- index(col1,col2)
- というインデックスがある場合は、前者は冗長なので消すこと!
- indexのrebuildは
- 参照整合性のことをDRI(Declartive Referential Integrity)と書いてあるのは初めて見た
- check制約
- トリーが、ストアドルーチンに可搬性はない
- PostgreSQLはBSDライセンスのため派生が作りやすい(たくさん)
- 書籍データベースリファクタリングではデータ移行の段階としてトリガーをフル活用する
- パーティション分割は必ず早くなるわけではない
- 適当なWHERE句が必要。
- インデックスのフィルター化
- MySQLでは使えない
- データに寄せる(寿命の長い方に設計を寄せる)
- ストアドなどはオプティマイザが見ない?
- MySQLは大文字小文字を区別している
- FS依存
- 他のDBは区別しない
- 最近はNULLS FIRST,NULLS LASTをサポートしているDBは他にもあるはず
- MSQLとSQLServer以外は最近はサポートしている
- UNKNOWNリテラルは存在する。
- SQLパフォーマンス詳細の作者が書いているブログが面白い(luke!indexを使え!)
- SQL2016の詳解など
余談ですが初参加。スケジュールに調整がつかなかったり、体調が悪かったりして参加ができていなかった。 ちなみに今日も1時間しか寝ていないので死ぬほどしんどい。