The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум WEB технологии (PHP)
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Разумная пагинация, CHIM (ok), 28-Окт-22, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


4. "Разумная пагинация"  +/
Сообщение от CHIMemail (ok), 31-Окт-22, 10:22 
>[оверквотинг удален]
> Когда я потыкал такой фреймворк ради интереса (quasar) я вообще не
> увидел там особого программирования на js.
> А принцип отдельного запроса для получения числа строк вообще не живёт на
> нагрузке/большом числе записей. Точное число строк так же мало кому нужно,
> не говоря уже о том, что пока навигируют туда-сюда, список может
> поменяться.
> На мой взгляд, правильно запрашивать в базе данные с окном + 1
> и если вернулось число записей > окна, рисовать ссылку на следующую
> страницу + разместить на контроле навигации возможность запросить точное число строк,
> если у кого-то будет такое желание.

Вообще конечно интересная тема, как правильно загружать данные и по сколько. С одной стороны долбить сервер при перелистывании каждой страницы тоже накладно, например если это будет сотни запросов, а с другой стороны слишком много хранить инфы в памяти по запросу тоже не вариант. Получается должна быть какая то буферизация запроса. Как это делают великие гуру?

Ответить | Правка | Наверх | Cообщить модератору

5. "Разумная пагинация"  +/
Сообщение от abi (?), 31-Окт-22, 11:40 
> Вообще конечно интересная тема, как правильно загружать данные и по сколько. С
> одной стороны долбить сервер при перелистывании каждой страницы тоже накладно, например
> если это будет сотни запросов, а с другой стороны слишком много
> хранить инфы в памяти по запросу тоже не вариант. Получается должна
> быть какая то буферизация запроса. Как это делают великие гуру?

Ну, мне как бэкэнщику лучше всего, когда пагинация происходит на фронтэнде - сервер один раз шлёпнет, а компоненты в браузере всё остальное сделают. Так сказать, "читателя не интересует писательский пот". Проблема в том, что если сервер шлёпнул много, компонент обрабатывать это будет долго. Ну и память у пользователя скушали.

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

В результате при навигации пользователь видит не 1.... 100500, а "туда сюда ..." или как там фронт это обыграет. Нажав на ... пользователь увидит точное число страниц, если дождётся, а если ему просто потыкать, то он нажмёт на следующую/предыдущую, не скушав ни ресурсы сервера, ни ресурсы своего компа.

Ответить | Правка | Наверх | Cообщить модератору

6. "Разумная пагинация"  +/
Сообщение от CHIMemail (ok), 02-Ноя-22, 16:12 
>[оверквотинг удален]
> или затратно - удвоив нагрузку на БД (запрос посчёта количества занимает
> столько же времени, сколько и запрос строк, минус накладные расходы на
> отсылку результата, так как в первом случае это число). Я ему
> говорю, что могу дать только признак, что есть следующая страница +
> по отдельному запросу дам точное число строк, чёрт с тобой.
> В результате при навигации пользователь видит не 1.... 100500, а "туда сюда
> ..." или как там фронт это обыграет. Нажав на ... пользователь
> увидит точное число страниц, если дождётся, а если ему просто потыкать,
> то он нажмёт на следующую/предыдущую, не скушав ни ресурсы сервера, ни
> ресурсы своего компа.

А стрелки типа "|<" и ">|" Вы никогда не применяете для перехода на первую и последнюю страницу?

Ответить | Правка | Наверх | Cообщить модератору

11. "Разумная пагинация"  +/
Сообщение от abi (?), 03-Ноя-22, 12:36 
> А стрелки типа "|<" и ">|" Вы никогда не применяете для перехода
> на первую и последнюю страницу?

Честно говоря, не знаю. Фронты так ловко написали фронт, что он на FF не открывается, а мне что-то другое ставить лень. Мы с ними через курлы общаемся.

Подозреваю, что данных реализовать такое им хватает. (Переход на первую страницу очевиден, а последнюю они могут расчитать послав запрос на количество страниц). Это нормально - эти контролы ленивые, пока пользователь не нажмёт, запросов не будет.

Для меня главное, чтобы компонент был нарисован  посылкой только одного запроса. Иначе ко мне девопсы придут с метриками.


Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру