У меня есть 3000 записей в таблице сотрудников, которые я вытащил из своей базы данных с одним запросом. Я могу показать 20 записей на странице. Таким образом, на каждой странице будет отображаться 20 страниц. У меня есть два вопроса о разбиении на страницы и сортировке столбцов:способ (на стороне клиента или на стороне сервера) использовать для разбиения на страницы/сортируемые столбцы?
1) Если я реализую простую разбивку на страницы без сортируемых столбцов, должен ли я отправить все 3000 записей клиенту и сделать клиентскую часть страницы с помощью javascript или jquery. Поэтому, если пользователь нажимает вторую страницу, вызов не будет идти на сервер, и он будет быстрее. Хотя я не уверен, что может повлиять на отправку 3000 или более записей на стороне браузера/клиента? Итак, каков наилучший подход - либо отправлять все записи клиенту в один проход, либо выполнять сортировку там или по щелчку страницы, отправлять вызов на сервер, а затем просто возвращать результаты этой конкретной страницы?
2) В этом случае мне нужно предоставить разбиение на страницы вместе с сортируемыми столбцами (6 столбцов). Таким образом, пользователь может щелкнуть любой столбец, как имя сотрудника или название отдела, а затем имена должны быть упорядочены в порядке возрастания или убывания. Снова я хочу знать лучший подход с точки зрения времени/памяти?
Эффект отправки 3000 записей любых значимых данных значительно замедлит работу браузера. Я бы разбивал страницы на сервер. – Brad
Я не знаю, как большой набор данных влияет на производительность браузера. Выглядит нравится ваш ответ. 3000 или более записей будет сложно обрабатывать браузером. Это? –
Вопрос: Какова вероятность/частота появления «следующих» 20 результатов? Если он низкий, укажите серверный сервер. Если умеренная, все еще серверная сторона, стоит штраф. Если высокая, STILL-серверная сторона с тех пор, как узкое место и обработка на стороне клиента, возможно, не стоят этого :) Вы всегда можете использовать OFFSET и LIMIT, чтобы узнать, какую страницу нужно извлечь :) – PhD