В моей базе данных mysql есть таблица с несколькими сотнями тысяч строк.
Каждая строка имеет (среди прочих данных) имя пользователя и отметку времени.
Мне нужно получить запись с самой последней отметкой времени для данного пользователя.
Текущий запрос грубой силы:
SELECT * FROM tableName WHERE `user_name`="The user name" AND datetime_sent = (SELECT MAX(`datetime_sent`) FROM tableName WHERE `user_name`="The user name");
Таблица имеет индекс по user_name
и datetime_sent
.
Как лучше всего улучшить этот запрос? Я должен выполнить тысячи этих запросов одновременно. Кажется, что каждый запрос занимает от 1 до 4 миллисекунд, и я подозреваю, что есть гораздо более эффективный способ достижения того же результата.