MySQLで使用するインデックスを指定する
2014/05/22
ちゃんと指定してるのにインデックスが使用されていない場合、
オプティマイザに知らせる方法があった。
■参考サイト
http://serversmanvps.ヒナギク.com/2011/11/09/%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8B%E3%82%A4%E3%83%B3%E3%83%87%E3%83%83%E3%82%AF%E3%82%B9%E3%82%92%E6%98%8E%E7%A4%BA%E3%81%99%E3%82%8B-mysql-%E3%82%A4%E3%83%B3%E3%83%87%E3%83%83%E3%82%AF%E3%82%B9/
SELECT *
FROM estimates
USE INDEX(IDX_IMPORT, IDX_FSEARCH)
WHERE total>=10000 AND type=1
実際に1つのSQL文だけ、どうしても選択されなかったので使用。
//2013/10/05追記
USE INDEXではどうも使用されないケースがあった。
FORCE INDEXを利用することで解決。
■参考サイト
http://www.hirohama.biz/mysql/2007/06/29-110659.html
関連記事
-
-
formにGoogle reCAPTCHA v3を組み込み、PHPでスコア判定する方法
だいぶ前にGoogle reCAPTCHA v2をformに組み込むという記事を ...
-
-
PHP5.4系でAPCが上手く動かなかったので5.5にアップデート&Zend OPcache導入
PHP5.3系から5.4系にアップデートしてから、WordPressがちょっと重 ...
-
-
PHPでjpg / png画像をAVIF形式の画像に変換する方法
PHPでjpg / png画像をAVIF形式の画像に変換しサーバに保存したい。W ...
-
-
JavaScriptの「pako」ライブラリでGzip圧縮したデータをPHPで展開する方法
先日、JavaScriptの「pako」ライブラリで文字列やオブジェクト(連想配 ...
-
-
PHPにて配列の出力時にジェネレータを利用してメモリを節約する方法
PHPにて大量のデータが格納された配列をforeach等でループ処理するような場 ...