インデックス作成について
インデックスはSELECTクエリを見て作成すると思うのですが、1つのテーブルに対して1つのSELECTクエリしか発行しないとは限らないと思います
例えば、下記のように1つのテーブルに対して複数のSELECTクエリを実行する(可能性がある)場合は、どのクエリを元にインデックスを作成するのですか?
SELECT * FROM t WHERE a = 1
SELECT * FROM t WHERE a = 1 ORDER BY b
SELECT * FROM t WHERE c = 1 ORDER BY d
案1.SELECT文の数だけ、それに応じたインデックスを作成する
この場合は、インデックス(a)と複合インデックス(a,b)と複合インデックス(c,d)を作成する?案2.1つのSELECT文にだけ対応したインデックスを作成する
該当テーブルに対して、最も参照回数が多いSELECT文をどうにかして特定して、それに応じたインデックスだけを作成する- 案3.計測した結果に基づきインデックスを作成する
(レコード数などによって)ケースバイケースなので、面倒でも総当たりで全部試していって計測するしかない?
その他の案は何かありますか?