У меня есть база данных mysql с записями транспортных средств. Мне нужен быстрый запрос, который вернет самые новые записи тех записей, которые были обновлены в течение последних 4 минут. Например, транспортное средство «А» может обновляться несколько раз в минуту, поэтому оно будет появляться много раз в течение последних 4 минут. То же самое с транспортным средством B C и т. Д. Мне нужны только самые последние записи для каждого транспортного средства в течение 4-минутного окна. Я пробовал вот так
SELECT *
FROM yourtable AS a
WHERE a.ts =
(SELECT MAX(ts)
FROM yourtable AS b
WHERE b.ts > NOW() - INTERVAL 5 MINUTE
AND b.name = a.name)
, но для получения результатов> 10 секунд требуется слишком много времени.