⚡️ Cursor-пагинация действительно очень быстрая - в тестах она оказалась в 17 раз быстрее**, чем классическая offset-пагинация.
Но использовать её нужно не всегда. Вот почему.
Что такое cursor-пагинация
Она работает через «точку отсчёта» - курсор.
Это может быть уникальный идентификатор или набор полей, по которым сортируются записи.
Фронтенд передаёт курсор, и сервер возвращает следующую порцию данных, начиная строго после него.
Почему она быстрая
- Серверу не нужно пересчитывать offset и пропускать тысячи строк.
- Он просто выбирает данные «после курсора».
- Это даёт стабильную производительность даже на больших таблицах.
Но есть нюанс
Cursor-пагинация отлично подходит для:
- лент обновлений
- real-time интерфейсов
- бесконечной прокрутки
Но если пользователи почти всегда открывают только первую страницу, а далее почти не переходят, то обычная offset-пагинация будет проще и тоже очень быстрой.
Для многих приложений это нормальный и достаточный вариант.
Вот подробный разбор с реализацией и тестами.
Post #1632
5.32K
