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
関連記事
-
-
PHPでランダムなカラーコードを生成する「RandomColor.php」ライブラリの利用方法
PHPでランダムなカラーコードを生成したい。自作するとなると「0~9」「a~f」 ...
-
-
PHP7 / 8でBlowfishアルゴリズムを用いた暗号化と復号化方法
大分前にPHPでPearのCrypt_Blowfishパッケージを使用し、Blo ...
-
-
Google Maps APIとPHPを組み合わせて複数マーカーとウィンドウを連携させる方法
やりたかった事は以下の通り。 mysqlから経度緯度、マーカー名、マーカーIDを ...
-
-
Codeigniter4でMySQLに接続しCRUD操作する方法
Codeigniter4.4.4でMySQLに接続しCRUD操作したい。また、任 ...
-
-
PHPとLINEを連携させて通知を送る方法(file_get_contents / curlの2パターン)
PHPとLINEを連携させ、LINEに何らかの通知メッセージを送信したい。以下に ...