Средний
В чем разница между Offset и Cursor (Keyset) пагинацией?
Offset-пагинация (через limit и offset):
- Клиент запрашивает: "Дай 10 записей, пропустив первые 50".
- ✅ Плюсы: Легко реализовать, можно прыгнуть на любую страницу (например, сразу на 5-ю).
- ❌ Минусы: Медленно работает на больших таблицах (БД все равно читает пропущенные строки). Возможны дубли, если во время листания добавилась новая запись.
Keyset / Cursor-пагинация:
- Клиент передает ID последней увиденной записи: "Дай 10 записей, где ID > 50".
- ✅ Плюсы: Работает мгновенно (по индексу), нет дублей при добавлении новых строк (идеально для бесконечной ленты).
- ❌ Минусы: Нельзя прыгнуть на произвольную страницу.