Как оптимизировать множество разных запросов к БД? - PullRequest
0 голосов
/ 05 марта 2019

Я использую базу данных SQL Server с EF 6 и LINQ.

Например, у меня есть 10 выпадающих списков на странице. И мне нужно получить списки для этих выпадающих из базы данных.

Мне нужно сделать 10 разных запросов одновременно, и это занимает много времени. Каждый запрос занимает около 0,05ec в моем случае. 10 запрос * 0,05 = 0,5 сек Очень длинный.

Как я могу сделать эти запросы другим способом для повышения производительности?

Пример запроса

var marriageStatuses = await db.MarriageStatus
                               .AsNoTracking()
                               .Select(x => new
                                            {
                                                Id = x.Id,
                                                Description = x.Description
                                            })
                               .ToListAsync();

Пример таблиц:

enter image description here

enter image description here

1 Ответ

1 голос
/ 05 марта 2019

Существует несколько простых простых методов для решения таких проблем:

  1. избегайте любых n + 1 запросов, объединяя их в один запрос для всего набора.
  2. объединяет любые дополнительныезапросы, в которых извлекаются избыточные данные
  3. отложенная загрузка компонентов с помощью последующих запросов к серверу, чтобы страница загружалась первой

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

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