2017-01-23 6 views
0

リモートクライアントで次のSQLクエリを実行していますが、実行にかなりの時間(5分以上)がかかります。"Sort Indexの作成"でスタックするSQLクエリを最適化する方法

this questionから、'ソートインデックスの作成'は、 'order by'句に基づいて返された値の順序を把握しているデータベースです。

このクエリを最適化する方法はありますか?

SELECT column1 FROM my_database where '2017-01-19 09:00:00' > time_stamp and '2017-01-19 05:00:00' < time_stamp order by time_stamp desc limit 5000; 
+0

インデックスはありますか?そうでなければ 'time_stamp'フィールドに作成します – Doug

答えて

1

これはあなたのクエリです:このクエリの

SELECT column1 
FROM my_database 
WHERE '2017-01-19 09:00:00' > time_stamp and 
     '2017-01-19 05:00:00' < time_stamp 
ORDER BY time_stamp desc 
LIMIT 5000; 

最良の指標はmy_database(time_stamp, column1)上の複合インデックスです。残念ながら、MySQLは実際にインデックスのためにdescを認識しないので、おそらくソートを避けることはできません。