[過去ログ] ふらっと C#,C♯,C#(初心者用) Part158 (1002レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
431
(1): (ワッチョイ 5eda-xrk/) 2023/05/07(日)00:58 ID:AUxqabWy0(1/3) AAS
ef coreでDBからレコードを大量に取得する場合、
(A)
foreach( var row in await query.ToListAsync() )
で取得する場合と
(B)
foreach( var row in query )
で取得する場合、どちらがアプリサーバで消費するメモリが多いでしょうか?
queryはIQueryable<T>型です。
DBサーバとアプリサーバは分かれています

(A)だとDBサーバから結果が全部返るまで待ってからループ開始、
省4
435
(1): (オッペケ Src7-KeI6) 2023/05/07(日)08:06 ID:ZcKb5BN5r(1) AAS
>>431
DB絡んでないけど一般論としては
外部リンク[html]:atmarkit.itmedia.co.jp
もっともODBCドライバとかDBプロパイダの作りがザルだとクエリ実行結果を一気に全件取り出して
アプリサーバ上のメモリ上に保持してる可能性もゼロではないけど、postgresならそんなことはないだろう

実体化したくないけど非同期でレコードを取り出したいってことなら
await foreach( var row in query.AsAsyncEnumerable() )
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.041s