Как получить последние N записей без использования ORDER BY & OFFSET?

Друзья всем привет, имеется таблица с личными сообщениями, выборка идет по ID диалога, нужно получить последние 20 сообщений не используя ORDER и OFFSET, так как такой запрос будет оч плохо выполняться на большой базе, какой вариант вы видите?
У самого пока только одна идея пришла в голову во время составления вопроса.
Так как есть еще таблица диалогов, там хранятся инфа о диалоге кто с кем, ID последнего сообщения и количество всего.. думаю добавить туда еще одно поле ID последнего 20го сообщения, то есть как первое сообщение отправляется сразу записывается в таблицу с диалогами ID этого 20го, он же пока первый.. Далее держать где то в мемкеше счетчик и считать до 20ти, потом обновлять этот prev20 ID и делать выборку where ID > prev20
  • Вопрос задан
  • 188 просмотров
Пригласить эксперта
Ответы на вопрос 1
iCoderXXI
@iCoderXXI
React.JS/FrontEnd engineer
ORDER BY на обычных autoincrement ID замечательно работают при наличии индексов даже на миллионах записей... Не вижу причин отказываться от ORDER BY id DESC LIMIT 20
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы