2016-11-23 4 views
0

У меня есть следующий SELECT, который работает под вторым, если я удалю ORDER BY в конце. С ORDER BY он работает примерно через 9 секунд.MySQL Slow Query - Order By

У меня есть понимание, что некоторые другие команды SQL, такие как «<>», операторы сравнения могут работать с ORDER BY.

Я пробовал комментировать строки и могу улучшить производительность, чтобы сказать 2-3 секунды с помощью ORDER BY, но все еще без ORDER BY больше похоже на менее 1 секунды.

Может ли кто-нибудь дать мне хороший совет, как лучше написать этот запрос, чего избежать и т. Д.? Все советы очень ценятся.

Thankyou

+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

Помогло ли это решение? Или был заполнен кеш, поэтому он стал быстрее. –