> Вообще конечно интересная тема, как правильно загружать данные и по сколько. С
> одной стороны долбить сервер при перелистывании каждой страницы тоже накладно, например
> если это будет сотни запросов, а с другой стороны слишком много
> хранить инфы в памяти по запросу тоже не вариант. Получается должна
> быть какая то буферизация запроса. Как это делают великие гуру?Ну, мне как бэкэнщику лучше всего, когда пагинация происходит на фронтэнде - сервер один раз шлёпнет, а компоненты в браузере всё остальное сделают. Так сказать, "читателя не интересует писательский пот". Проблема в том, что если сервер шлёпнул много, компонент обрабатывать это будет долго. Ну и память у пользователя скушали.
В этом случае фронты приходят ко мне и говорят, мол дай кусок, размер мы пришлём, укажи сколько строк получилось, какой номер страницы текущий, скажи сколько всего. Против этого я ничего не имею, кроме последнего. Сказать сколько всего я могу или приблизительно (из статистики планировщика БД) или затратно - удвоив нагрузку на БД (запрос посчёта количества занимает столько же времени, сколько и запрос строк, минус накладные расходы на отсылку результата, так как в первом случае это число). Я ему говорю, что могу дать только признак, что есть следующая страница + по отдельному запросу дам точное число строк, чёрт с тобой.
В результате при навигации пользователь видит не 1.... 100500, а "туда сюда ..." или как там фронт это обыграет. Нажав на ... пользователь увидит точное число страниц, если дождётся, а если ему просто потыкать, то он нажмёт на следующую/предыдущую, не скушав ни ресурсы сервера, ни ресурсы своего компа.