Всем привет, есть лента новостей, на которую вывожу новости по 20 штук, отсортированные, например, по дате. Как только человек домотал до низа, подгружаю еще 20 и так далее.
Вопрос: что быстрее, каждый раз выбирать через limit offset:
select * from posts limit 20 offset 20
Или отсылать айдишники уже подгруженных новостей и делать запрос с where not in:
select * from posts where id not in (1, 2, 3) limit 20
Вариант вида
select * from posts where id < 'id' limit 20
Не подходит, потому что сортировка идет по дате, а дата у постов может совпадать полностью.
Какой из вариантов быстрее, скажем, после прочтения 2000-го поста. Или есть еще какой-то более оптимальный вариант?