SQL: отображение данных чанка из огромного списка производительности - PullRequest
0 голосов
/ 27 апреля 2020

Я должен получить n записей из базы данных. Количество этой записи может очень менеджер к менеджеру. Это означает, что у одного менеджера может быть более 100 записей, а у другого - только 50+.

Если все дело в извлечении данных только из одной таблицы, то его очень легко получить.

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

Я добавил разбиение на страницы на стороне пользовательского интерфейса, чтобы на экране можно было одновременно просматривать только 20 записей. как только я нажал на номер страницы, исходя из этого, я должен сместить записи на следующие 20. Предположим, что я нажал на страницу № 3, тогда из db я должен получить только записи с 41 по 60.

Часть пользовательского интерфейса не имеет большого значения Дело в том, как оптимизировать ваш запрос, чтобы каждый раз получать только 20 записей.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...