2016-11-23 2 views
0

最後にORDER BYを削除すると、次のSELECTが1秒以内に実行されます。 ORDER BYでは約9秒で実行されます。MySQLの遅いクエリ - 受注者

「<>」のような他のSQLコマンドは、ORDER BYに悪影響を与える可能性があると私は理解しています。

私は行をコメントアウトしようとしましたが、ORDER BYでは2〜3秒と言いますが、ORDER BYがなくても1秒以下でパフォーマンスが向上します。

誰かが私にこのクエリをよく書き込む方法、避けるべきことなどについての良い助言を与えることができますか?すべてのアドバイスは大歓迎です。

ありがとう

+0

をあなたは**照会EXPLAIN **からの結果を投稿してくださいできますか?結果セットにはいくつのレコードがありますか? –

答えて

1

てみてください。

SELECT * FROM (
    SELECT .. // Your old Query without GROUP BY and LIMIT 
    ... 
) AS tmp 
ORDER BY heartbeat DESC 
LIMIT 120; 
+0

@Adam - なぜあなたは**)とORDER BYを削除しますか?**あなたのクエリにとっては重要ですか? –

+0

この解決策は本当に助けになりましたか?または、キャッシュにデータが格納されていたため、高速になると判断されました。 –