Разбиение на страницы: сторона сервера или сторона клиента?

44
задан Andreas Grech 3 January 2009 в 08:06
поделиться

8 ответов

Правильный ответ зависит от Ваших приоритетов и размера набора данных, который будет разбит на страницы.

Серверное разбиение на страницы является лучшим для:

  • Большой набор данных
  • Более быстрая начальная загрузка страницы
  • Доступность для тех, которые не выполняют Клиентское разбиение на страницы javascript

, является лучшей для:

  • Небольшой набор данных
  • Более быстрые последующие загрузки страницы

Поэтому, если Вы разбиваете на страницы по, прежде всего, косметическим причинам, имеет больше смысла обрабатывать его сторона клиента. И если Вы разбиваете на страницы для сокращения начального времени загрузки, сторона сервера является очевидным выбором.

, Конечно, преимущество стороны клиента на последующем времени загрузки страницы уменьшается при использовании Ajax для загрузки последующих страниц.

68
ответ дан Cory House 4 August 2019 в 16:58
поделиться

Даже с небольшими размерами данных лучшим выбором было бы серверное разбиение на страницы. Вы не должны будете волноваться позже, масштабируется ли Ваше веб-приложение далее.

И для больших размеров данных ответ очевиден.

5
ответ дан user50705 4 August 2019 в 16:58
поделиться

Выполнение его на стороне клиента заставит Вашего пользователя загрузить все данные сначала, которые не могли бы быть необходимы и удалят основное преимущество разбиения на страницы.

лучший способ сделать так для такого вида приложений Ajax состоит в том, чтобы выполнить вызов Ajax сервер для следующей страницы и добавить, обновляют текущую страницу с помощью клиентского сценария.

8
ответ дан Mehrdad Afshari 4 August 2019 в 16:58
поделиться

Если у Вас есть большие страницы и большое количество страниц, Вы лучше из запроса страниц в блоках с сервера через Ajax. Так позвольте серверу сделать разбиение на страницы, базирующееся Вашего URL запроса.

можно также выбрать с упреждением следующие несколько страниц, которые пользователь, вероятно, просмотрит, чтобы заставить интерфейс казаться более быстро реагирующим.

, Если существует только немного страниц, захватывая все это заранее и разбивающий на страницы на клиенте, может быть лучший выбор.

7
ответ дан Diodeus - James MacFarlane 4 August 2019 в 16:58
поделиться

Сторона сервера - отправляет клиенту как раз достаточно содержания для текущего представления.

3
ответ дан Otávio Décio 4 August 2019 в 16:58
поделиться

Вы подразумеваете, что Ваш JavaScript имеет все данные в памяти и показывает одну страницу во время? Или это, это загружает каждую страницу с сервера, поскольку это необходимо, с помощью Ajax?

, Если это - последний, Вы также, возможно, должны думать о сортировке. При сортировке использования JavaScript Вы только будете в состоянии отсортировать одну страницу за один раз, которая не имеет большого количества смысла. Таким образом, Ваша сортировка должна быть сделана на сервере.

3
ответ дан JW. 4 August 2019 в 16:58
поделиться

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

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

, Если клиентское программное обеспечение делает этот вид кэширования страницы, действительно рассмотрите, как быстро Ваши возрасты данных (вероятно, изменится), и если необходимо проверить, что кэшируемая страница данных все еще допустима. Возможно, повторно запросите его, если это стареет больше чем 2 минуты. Возможно, имейте "грязный" флаг в нем. Что-то как этот. Надеюсь, что Вы находите это полезным.:)

3
ответ дан Sam 4 August 2019 в 16:58
поделиться

Я предпочитаю серверное разбиение на страницы. Однако при реализации его, необходимо удостовериться, что Вы оптимизируете свой SQL правильно. Например, я верю в MySQL, если Вы используете опцию LIMIT, это не использует индекс, таким образом, необходимо переписать sql для использования индекса правильно.

G-человек

2
ответ дан GeoffreyF67 4 August 2019 в 16:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: