я запрашиваю не разом всю инфу, а по чуть-чуть?
Ответ - жирные сущности, коллекция во много-много гб.
Не спорим, пытаемся понять, какая проблема изначально. Текущее решение (которое выглядит как костыль, имхо) достаточно шаткое и как видим ненадёжное.
Ну, тут стоит тогда посмотреть в сторону подхода исполнения OAsyncEnumerable. Кстати, 50 тасков ровно столько же говна в память нальют, сколько и один запрос, если что.
Ок, я понял. Фича предназначена для огромного количества Loan. Настолько огромного, что подгрузить все сразу и держать в памяти - не вариант. Тем более логика там довольно сложная, куча всякой вложенности. Я вот сразу с легкостью не скажу, а какие данные мне понадобятся для всей этой обработки. То что я заинклудил только 2 сущности - это я только благодаря ошибкам понял, какие надо.
Ваша проблема в том, что 1) изначально база плохо спроектирована, 2) Вы зачем-то пытаетесь всё равно тащить весь набор данных в память, хотя и многими запросами, что тоже явно бессмысленно - памяти не хватит, 3) Вы не пытаетесь разбить данные на блоки и обрабатывать каждый блок отдельно.
докинуть памяти и все пучком
Хорошо, подумаю над тем, как эти данные выделить в блоки
А я кстати не очень понимаю 2-й пункт. Почему я пытаюсь тащить весь набор данных? мне кажется, что я подтягиваю только то, что нужно.
Если Вам надо достать и обработать N записей, то что N записей достать, что N = K*M записей параллельно - однохуйственно.
Обсуждают сегодня