Я смотрю на ситуации в веб-приложениях, ориентированных на базы данных, когда нужно полагаться на клиентскую сортировку таблиц, а не на серверную. Одна конкретная ситуация, которая меня беспокоит, - это нумерация страниц.
При попытке разбить на страницы большую таблицу (скажем, 10000 строк), а также отсортировать ее по определенному столбцу, какой будет наилучший подход?
Я понимаю, что некоторые проблемы, связанные с этим:
- Я не могу вернуть всю таблицу клиентской стороне за один раз
- Я не могу отсортировать до 10000 записей с помощью JavaScript
- сортировка таблицы будет включать сортировку строк на всех страницах, а не только на текущей странице.
Так у вас есть еще вопросы, чтобы добавить в этот список?
Какой подход приведет к хорошему сочетанию взаимодействия на стороне клиента и на стороне сервера, чтобы минимизировать нагрузку на сервер?
Сложение:
Хорошо, сортировка по базе данных и возврат страницы reqd, предыдущей страницы и следующей страницы, кажется, лучшая ставка.
Теперь рассмотрим это:
Пользователь находится на странице (3 из 10) таблицы, отсортированной по серийному номеру. Теперь пользователь нажимает на заголовок с именем «username», желая отсортировать таблицу по имени пользователя.
Вопрос: должен ли конечный результат быть "страницей (1 из 10), отсортированной по имени пользователя" или это должен быть "страницей (3 из 10), отсортированной по имени пользователя"?
Я знаю, что это очень субъективный вопрос, но что бы вы порекомендовали и почему?