Даный результат достигался благодаря слудующему решению.
- Выбирался коллекция из сущностей A
- Полученная коллекция в цикле обрабатывалась и для каждой сущности A брались соответствующие сущности Б,С и Д. Даже при условии что на получение сущности Б,С или Д тратилось одно обращение к базе - получаем три тысячи обращений к базе.
- три тысячи одно обращение к базе - вот вам и четыре с половиной минуты.
- Выбирать коллекцию из сущностей A
- Выбирать коллекцию из всех сущностей Б которые связанны с сущностями из коллекции А.
- Выбирать коллекцию из всех сущностей С которые связанны с сущностями из коллекции А
- Выбирать коллекцию из всех сущностей Д которые связанны с сущностями из коллекции А
- Для каждого элемента из коллекции А выбирать соответствующие сущности Б,С и Д из уже наполненных коллекций посредством "LinQ to Object".
- 4 запроса к базе всместо 3001 - 4 секунды вместо 4,5 минут.
Комментариев нет:
Отправить комментарий