インデックスをどう振るか

mysql> select * from tb_hoge where id_a=123 and id_b=456 order by id_c ASC;

みたいなSQL文では、どこにインデックスを振るべき?
id_aとid_bの複合インデックスと、id_cに対するインデックスを振ればいい?
それともid_cにインデックスを振る必要はない?

mysql> select * from tb_hoge where id_a=123 and id_b=456 order by id_b ASC;

のパターンだと、どうなる?
id_aとid_bの複合インデックスと、id_bに対するインデックスを振ればよい?
id_bへのインデックスは不要?
要調査。
※簡単な調査結果
MySQLには「1つのクエリを実行するとき、1つのテーブルにつき1つのインデックスしか使用できない」という制約があるので、
id_aとid_bの複合インデックスを振るだけでいいっぽい。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です