こんにちは仲間の開発者は、ブロブのLINQクエリリスト、メモリ使用量
私はLINQクエリを使用して、OracleデータベースにBLOB形式で格納されたXMLオブジェクトのリストのエクスポートを改善しようとしています。
悲しいことに、BLOBは非常に大きく、読んでいるとメモリ使用量は2GBまで増加します。私のfileSet
オブジェクトはIQueryable<myRecord>
オブジェクトです。 私は
foreach (var file in fileSet){...}
と
var files = fileSet.ToList(); //This time the list is causing the memory load.
foreach(file in files){...}
と
var e = fileSet.AsEnumerable().GetEnumerator();
while(e.MoveNext()){...}
を試してみました。しかし、私はリストに大きな記録を打つたびに、使用するRAMの上にあります。 エクスポートを作成するには、Buffer.BlockCopy
を使用してコードを探していましたが、メモリ過充電のためにメモリ使用量を減らす方法や各ブロブを読み込む方法がある場合は、この方向に進むことはありません。
処理中にブロブをロードする必要がありますか?それとも、ファイルセットのレコード定義にこのBLOBフィールドがあるためですか? –
@SergeyLブロブが必要です。このソフトウェアはこれらのBLOBを読み込んでいて、xlsファイルにエクスポートしています。基本的にxmlです。 –