ある人をテーブルから検索するにあたり「都道府県=鳥取県かつ血液型=B型かつ性別=女性かつ身長>170cm」とするとき、インデックスはどのように張るべきなのか?
アリがちでやってしまうのは
都道府県カラムでインデックス。
血液型カラムでインデックス。
性別カラムでインデックス。
身長カラムでインデックス。
計4インデックス。
という張り方。
検索時に使用できるインデックスは1個なので1カラムで4個のインデックスを作成してもどれか一個のインデックスしか使用されません。
なので、上記の検索を実行する際には
一例として
都道府県カラム、血液型カラム、性別カラム、身長カラムの4カラムで1インデックス。
が効果的に使用できる。
「かつ」ではなく「または」のときは1カラムで複数インデックスを作る方が効率的になる。
検索条件に応じてインデックスの張り方が変わってくる