Мне было интересно, что является причиной пагинации? Используется ли он потому, что уменьшает нагрузку на серверы, поскольку мы технически ограничиваем количество строк, возвращаемых на страницу?
Я хотел сделать что-то без нумерации страниц, но, учитывая, что я новичок в этом (я любитель), начал задаваться вопросом, нормально ли это технически или нет.
php
pagination
Сэм Хан
источник
источник
Ответы:
Существует несколько причин разбивки на страницы, снижение нагрузки на сервер - это всего лишь одна из них. Тем не менее, Стивен Орр поднимает правильную точку - вам все равно нужно сначала найти объем данных. Вы должны убедиться, что этот запрос быстрый и не чрезмерно загружает ваш сервер.
Другие причины включают в себя:
В обоих этих случаях вы не хотите заставлять пользователя ждать - либо данных, которые он не собирается просматривать, либо всех данных, которые они могут получить, обрабатывая некоторые из них.
источник
Это зависит от реализации.
Это ускорит рендеринг страницы, но не обязательно уменьшит нагрузку на сервер. Большинство наивных алгоритмов разбиения на страницы должны сначала выполнить запрос, чтобы решить, сколько страниц должно быть, а затем запросить снова, чтобы получить «постраничный» набор результатов.
источник
Самое ценное, что вы получаете от нумерации страниц, - это повышение скорости вашего приложения за счет:
1 - Ограничение данных, передаваемых между клиентом и сервером. Нет смысла читать 1000000 клиентов, если пользователь ищет 10 из них.
2- Значительно ускорить выполнение запроса, получая только те строки, которые могут уместиться в представлении пользователя. Нет смысла читать 1000000 клиентов, если пользователь будет смотреть на первых 10 клиентов.
3 - Пагинация помогает, предоставляя более свежие данные. Если ваше приложение отображает много строк данных, а домен приложения требует большого количества обновлений строк данных в отображаемой таблице, есть вероятность, что к тому времени, когда вы перейдете на страницу 20 списка страниц, данные некоторых строк будут изменилось. Подумайте о приложении, которое читает цены на акции или свободные номера в отеле. Извлечение старых данных и размещение их на клиенте бесполезно.
Разбиение на страницы - это одна из стратегий, которая в сочетании с фильтрацией и вашим пониманием того, как конечный пользователь нуждается в конкретном сценарии (что, как ожидается, приведет к созданию хорошего дизайна для удовлетворения этой потребности), значительно улучшит приложение, особенно когда несколько пользователей обращаются к базе данных. одновременно.
Разбиение на страницы не всегда тривиально для программы. В некоторых случаях это просто, но иногда очень сложно написать так, чтобы запрос SQL выполнялся без полного сканирования таблицы. Это, конечно, зависит от ваших индексов, условий фильтра и вашего оператора Where.
источник
По моему мнению, нумерация страниц - мать всех преждевременных оптимизаций. Это абсолютно нормально, чтобы написать свой сайт без нумерации страниц.
Если после выпуска вы обнаружите, что загружаете слишком много данных за один вызов, или что вашим пользователям приходится ждать информацию, которую они хотят, потому что она загружает данные, которые им не нужны, продолжайте и напишите решение Ajax который загружает страницу только при прокрутке вниз (см. Twitter, Tumblr, поиск картинок Google).
Изменить: Второй абзац выше был написан с предположением, что общий ответ будет «но если вы знаете, что в какой-то момент вы будете разбивать на страницы, вы можете также сделать это раньше, а не тратить время на разработку чего-то, что вы собираетесь бросить далеко."
Помимо того, что я являюсь матерью всех преждевременных оптимизаций, я думаю, что нумерация страниц - это кошмар UX, и что есть лучшие решения, которые не потребовали бы большого дополнительного развития в верхней части полной страницы.
Несмотря на количество отрицательных голосов, я оставляю этот ответ здесь, потому что я поддерживаю настроение, даже если оно не было моим лучшим сочинением.
источник