毎週スパムをチェックし、「%http://%%id desc limit 10 by orderいくつかの他のキーワード。最近の選択は非常に遅いです。唯一の違いは、それは私のネットブックで唯一の1.3ミルの投稿があり1であるとして「ROWS」欄を示している1ギガのRAMを搭載した私のネットブックで非常に遅いクエリが本当に高速でした。 Explainはローカルバックアップで行= 1を示しますが、サーバー上の行= 2287359
mysql> explain select * from posts where reply like "%http://%" order by id desc limit 1;
+----+-------------+-----------+-------+---------------+---------+---------+------+---------+-------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-------------+-----------+-------+---------------+---------+---------+------+---------+-------------+
| 1 | SIMPLE | posts | index | NULL | PRIMARY | 4 | NULL | 2287347 | Using where |
+----+-------------+-----------+-------+---------------+---------+---------+------+---------+-------------+
1 row in set (0.00 sec)
。サーバーには6ギグラムと高速プロセッサーがあります。最適化する必要があるので、恐ろしく遅くはありません。最近、私はuserIdで検索するためのインデックスを追加しました。これは賢明な選択肢ではありませんが、この問題が起きる少し前にバックアップとプロダクションサーバーに追加しました。私はそれが釣れなかったためにラムで並べ替えることができないことに関連していると思いますか?
「threadId = Xの投稿からの削除」のようなものを実行すると、遅くなるようですが、関連していれば無駄です。
テーブル(インデックスを含む)のCREATEステートメントを表示できますか? – enobrev