MySQLの検索でINDEXを指定する

alkoshikawa 248views 更新:2014年4月18日

通常MySQLのオプティマイザが使用するINDEXを選んでくれますが、
Select句が複雑だったりする場合意図したインデックスが使われないことがあります。

INDEX名: dtb_products_class_multi1

というインデックスがあって、検索で使う場合はFROM句のあとに書きます。

SELECT * FROM dtb_products_class USE INDEX(dtb_products_class_multi1) WHERE del_flg = 0 GROUP BY product_id;

指定したインデックスが使われていることを確認する

EXPLAIN SELECT * FROM dtb_products_class USE INDEX(dtb_products_class_multi1) WHERE del_flg = 0 GROUP BY product_id;

 

ログイン / 新規登録してコメントする

このソースコードをストックして後で利用したり、作業に利用したソースコードをまとめることができます。

こちらもお役に立つかもしれません