INDEXがうまく使われずにDBのCPU使用率が90%越えになってしまったときの調査で発見しました。(常識みたいですがw)
INDEXを貼っているVARCHAR型のカラムに数字が入っているときにダブルクォートでくくって文字列として指定しないとINDEXが使われません。

yasu
今回伝えたいことは以上ですw調査結果を書いていきますので、時間のある方はお付き合いください。
INDEXについては以下の記事をご覧下さい。
VARCHARカラムのインデクス挙動の調査
以下のテーブルで調査を行います。
INDEXは「title」カラムに貼っています。
MariaDB [test2]> select * from movies; +----+-----------+-----------------------+-------+---------------------+ | id | title | content | stars | created | +----+-----------+-----------------------+-------+---------------------+ | 1 | title | テストコメント | 1 | 0000-00-00 00:00:00 | | 2 | 1234 | コメント | 1 | 2019-06-19 20:29:09 | | 3 | testtitle | おもしろい | 1 | 2019-06-23 17:21:52 | | 4 | TEST0004 | 4 | 4 | 2019-08-24 21:38:26 | | 5 | TEST0005 | 5 | 5 | 2019-08-24 21:38:26 | | 6 | TEST0006 | 6 | 6 | 2019-08-24 21:38:26 | | 7 | TEST0007 | 7 | 7 | 2019-08-24 21:38:26 | | 8 | TEST0008 | 8 | 8 | 2019-08-24 21:38:26 | | 9 | TEST0009 | 9 | 9 | 2019-08-24 21:38:26 | | 10 | TEST0010 | 10 | 10 | 2019-08-24 21:38:26 | | 11 | TEST0011 | 11 | 11 | 2019-08-24 21:38:26 | | 12 | TEST0012 | 12 | 12 | 2019-08-24 21:38:26 | | 13 | TEST0013 | 13 | 13 | 2019-08-24 21:38:26 | | 14 | TEST0014 | 14 | 14 | 2019-08-24 21:38:26 | +----+-----------+-----------------------+-------+---------------------+ 14 rows in set (0.00 sec) |
条件を数値(ダブルクォートなし)で指定
INDEXが使われいなくて、全件検索となっています。
MariaDB [test2]> explain -> SELECT -> * -> FROM -> test2.movies m -> WHERE -> m.title = 1234 -> ; +------+-------------+-------+------+---------------+------+---------+------+------+----------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +------+-------------+-------+------+---------------+------+---------+------+------+----------+ | 1 | SIMPLE | m | ALL | index_title | NULL | NULL | NULL | 14 | Using where | +------+-------------+-------+------+---------------+------+---------+------+------+----------+ 1 row in set (0.00 sec) |
条件を文字列(ダブルクォートあり)で指定
INDEXが使われているのがわかりますね。
MariaDB [test2]> explain -> SELECT -> * -> FROM -> test2.movies m -> WHERE -> m.title = '1234' -> ; +------+-------------+-------+------+---------------+-------------+---------+-------+------+--- | id |select_type|table|type|possible_keys|key|key_len | ref | rows | Extra | +------+-------------+-------+------+---------------+-------------+---------+-------+------+--- | 1 | SIMPLE | m | ref|index_title| index_title | 768| const | 1 | Using index condition | +------+-------------+-------+------+---------------+-------------+---------+-------+------+--- 1 row in set (0.00 sec) MariaDB [test2]> |