Этот запрос получает новейшие видео, загруженные по подписке пользователя, он работает очень медленно, поэтому я переписал его для использования объединений, но это не имело значения, и, поработав с ним, я обнаружил, что удаление ORDER BY сделает егоработать быстро (однако это не соответствует цели запроса).
Запрос:
SELECT vid. *
FROM video AS vid
INNER JOIN subscriptions AS sub ON vid.uploader = sub.subscription_id
WHERE sub.subscriber_id = '1'
AND vid.privacy = 0 AND vid.blocked <> 1 AND vid.converted = 1
ORDER BY vid.id DESC
LIMIT 8
При выполнении объяснения будет показано «Использование временного; Использование сортировки файлов» в таблице подписок и его медленный (0,0900 секунд).
Без ORDER BY vid.id DESC он не показывает «Использование временного; Использование сортировки файлов», поэтому он быстрый (0,0004 секунды), но я не понимаю, как другая таблица может повлиять на это, как это.
Все поля проиндексированы (конфиденциальность заблокирована, а преобразованные поля не влияют на производительность более чем на 10%).
Я вставил бы полную информацию объяснения, но я не могу привести ее в соответствиеприятно в макете этого сайта.