Ребята, я скорее парень из MSSQL, но сейчас я работаю над некоторым MYSQL.
Я написал простой запрос с подзапросом, и я не могу понять, почему он такой медленный.1003 *
Этот запрос:
SELECT MAX(timestamp), user, status FROM checkin WHERE room_id = 'Room Name' AND timestamp > DATE_SUB(Now() ,INTERVAL 4005 SECOND) GROUP BY user
Запускается за 0,0034 секунды
Тем не менее этот относительно похожий запрос, но вложенный, занимает более 6 секунд ..
SELECT user, status FROM checkin
WHERE timestamp IN
(SELECT MAX(timestamp) FROM checkin WHERE room_id = 'Room Name' AND timestamp > DATE_SUB(Now() ,INTERVAL 4005 SECOND) GROUP BY user)
Может кто-нибудь, пожалуйста, помогите?Я застрял.
В таблице "checkin" всего около 900 строк.индексируется только столбец room_id.
Приветствия
РЕДАКТИРОВАТЬ Спасибо, ребята .. Вот результат ОБЪЯСНЕНИЯ
ЗАВИСИТ ОТ ПОДПИСКИ ref_ номер_ид 20_2const 1104 Использование где;Используя временные;Использование файловой сортировки