達人に学ぶDB設計徹底指南書 第二版
#読書
正規化
第一正規化
第二正規化
第三正規化
正規化とはつまり、
関数従属性
を見出し、全ての列が、関数従属性を満たすように整理していくこと
インデックス設計
アプリケーションにとってインデックスは透過的である
透過性
なぜB-treeインデックスは各キー値の間で検索速度にバラツキが少ないのか
B-treeインデックスは構築時にキー値をソートして保持するために、B-treeインデックスが存在する列をORDER BY句のキーとして指定した場合、ソート処理スキップすることができる
カーディナリティ
カーディナリティの高い列にインデックスを貼るべき
複合列に対してインデックスを作成する場合らカーディナリティは対象の複合列の組み合わせで考える
なお、先頭に近いキーのカーディナリティが高いほど、効率的に絞り込めるため性能的に有利
しかし、値が分散してないとインデックスによる検索性能は安定しない
インデックスを貼っていてもインデックスを活用できないとき
インデックスに関する注意