У меня есть этот запрос:медленный запрос MySQL при использовании ORDER BY
SELECT article.id
FROM article
INNER JOIN article_cCountry ON article.id = ID1 AND ID2 = 1
INNER JOIN user_cCountry ON article.uId = user_cCountry.ID1 AND user_cCountry.ID2 = 1
LEFT JOIN user ON article.uId = user.ID
WHERE article.released = "TRUE"
AND article.sDate < now()
AND article.cDate != "0000-00-00 00:00:00"
AND (article.eDate > now() OR article.eDate = 0)
AND ((user.released = true) OR (article.uId = 0))
ORDER BY article.cDate DESC
LIMIT 0, 10
Запрос занимает ~ 0,3 секунды, без ORDER BY только ~ 0,001 секунды.
Любые идеи, почему ORDER BY так медленно?
Что показывает 'explain select ...', похоже, что столбец, используемый в предложении order by, не индексируется. –
@AbhikChakraborty разделе Редактирование – grundig
Проверить эту ссылку http://stackoverflow.com/questions/14368211/mysql-very-slow-order-by –