|
[EF Core] Выборка данных
|
|||
---|---|---|---|
#18+
Положим есть следующая процедура Код: c# 1. 2. 3. 4. 5. 6. 7.
EF генерит sql вида Код: sql 1.
Вопрос: в этом случае, если записей в выборку попадает много EF вытащит все записи на клиента сразу или будет их как-то подгружать частями, освобождая память от уже обработанных? Будет ли поведение отличаться от случая если в запросе написать Код: c# 1. 2.
Зависит ли это от используемой СУБД? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2018, 12:46 |
|
[EF Core] Выборка данных
|
|||
---|---|---|---|
#18+
BlackEricEF генерит sql вида предположил или сам посмотрел? BlackEricEF вытащит все записи на клиента сразу или будет их как-то подгружать частями частями т.к. в sql добавится кляуза для частей BlackEricБудет ли поведение отличаться от случая если в запросе написать отличие в том что этот кусок сразу придёт на клиента. Без него записи придут например на foreach( BlackEricЗависит ли это от используемой СУБД? должен. Но реально сам проверяй. У меня на постгри работает. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2018, 12:56 |
|
[EF Core] Выборка данных
|
|||
---|---|---|---|
#18+
BlackEricосвобождая память от уже обработанных?не будет освобождать, все закешируется в контексте пока существует контекст ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2018, 15:02 |
|
[EF Core] Выборка данных
|
|||
---|---|---|---|
#18+
Petro123частями т.к. в sql добавится кляуза для частейнет ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2018, 15:05 |
|
[EF Core] Выборка данных
|
|||
---|---|---|---|
#18+
Petro123предположил или сам посмотрел? Разумеется посмотрел Petro123BlackEricEF вытащит все записи на клиента сразу или будет их как-то подгружать частями частями т.к. в sql добавится кляуза для частей Не вижу я при работе с mariadb такого ограничения. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2018, 19:17 |
|
[EF Core] Выборка данных
|
|||
---|---|---|---|
#18+
Shocker.ProBlackEricосвобождая память от уже обработанных?не будет освобождать, все закешируется в контексте пока существует контекст А когда-то же этот кеш сбрасывается? Если в выборке миллионы записей? Кто за это отвечает: GC, EF или EF Provider? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2018, 19:18 |
|
[EF Core] Выборка данных
|
|||
---|---|---|---|
#18+
BlackEricНе вижу я при работе с mariadb такого ограничения. IMHO Значит экзотический зверь. Что тут сказать. BlackEricА когда-то же этот кеш сбрасывается? Драйвер или провайдер это черный ящик. Зачем сразу лезть внутрь? Нарезка кусков прикладной уровень. Работа с памятью системный. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2018, 10:22 |
|
[EF Core] Выборка данных
|
|||
---|---|---|---|
#18+
BlackEricА когда-то же этот кеш сбрасывается? Если в выборке миллионы записей?Сбрасывается, когда уничтожается контекст. Зачем ты тащишь в контекст миллион записей, оно тебе надо? В принципе, можно отключит трекинг, но тут уже надо смотреть, как будет читаться - однонаправленным курсором параллельно выборке или все равно все в keyset в память загонит. Тащить миллион записей на клиента в любом случае странно, для чего это нужно? Что не смогут решить возможности sql по агрегации и т.п.? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2018, 12:05 |
|
[EF Core] Выборка данных
|
|||
---|---|---|---|
#18+
Shocker.Pro, Мне нужно рассчитывать рейтинг. Для этого я должен перебрать все записи одной таблицы отсортированные по одному из полей и на основании этого заполнить другую. По алгоритму расчета мне нужно в любом случае перебрать всю таблицу. Я пока сделал выборку через Код: sql 1. 2.
где N перебирается в цикле. Вроде работает, но хочется понять как это делать корректно с точки зрения EF. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2018, 12:16 |
|
[EF Core] Выборка данных
|
|||
---|---|---|---|
#18+
BlackEricкак это делать корректно с точки зрения EF. EF это объектный подход. У тебя же выше в ТЗ вся бизнес логика БЛ) только про записи. авторДля этого я должен перебрать все записи одной таблицы отсортированные по одному из полей и на основании этого заполнить другую. По алгоритму расчета мне нужно в любом случае перебрать всю таблицу. Т.е. EF механизмы не работают в такой постановке. Либо изменить ТЗ в терминах ООП, либо Linq\SQL запрос и получение частей-кусков записей. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2018, 12:33 |
|
|
start [/forum/topic.php?fid=17&msg=39671191&tid=1349184]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
159ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 266ms |
0 / 0 |