Пейджинг на стороне сервера с группировкой - PullRequest
0 голосов
/ 27 февраля 2019

У меня есть угловой 4 пользовательский интерфейс, веб-API и SQL-сервер в серверной части.Я использую стороннюю сетку от ag grid (https://www.ag -grid.com / ).

Вот некоторая информация о моем сценарии:

  1. У меня есть 1 миллион записей на сервере SQL

  2. Мне нужно сгруппировать данные на основе выбора пользователя из пользовательского интерфейса.Как правило, после группировки количество записей, извлекаемых из БД, составляет около 200 тысяч.

3.Пользователь также выполнит некоторую фильтрацию из пользовательского интерфейса, что приведет к тому, что количество извлекаемых записей станет примерно от 4000 до 5000.

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

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

Буду признателен за любые рекомендации, касающиеся такого сценария.Спасибо.

...