2

10,000 行を超えるデータテーブルがあります。

私がする時 :

Dim oTable As New System.Data.DataTable
' .....
' Filling the DataTable
' .....
oTable.writeXml("MyFile.xml")

writexml ()はメモリまたはハードドライブを使用しますか?

テストしたところ、大量のメモリを使用していることがわかりました。

通常、ファイルの書き込みには FileStreams が使用されます。したがって、メモリを使用しないでください。

私が間違っている ?

4

1 に答える 1

0

WriteXML がメモリを消費するのは正常なことではないと思います。テーブル内の 287,120 行でテストしたところ (エクスポートされた XML のサイズは約 200MB です)、メモリ使用量は同じままでした。このテーブルをメモリにロードし、エディタで開くのに約 1.2GB かかりました。WriteXML を実行した後、メモリ消費量は 4 ~ 5 秒間同じままで、おそらく 1MB ずつ増減していました。

DataTable をどのように埋めていますか? 遅延読み込み手法を使用している場合は、メモリ使用量が多いことが原因である可能性がありますが、それは WriteXML によるものではなく、データ自体によるものです。

于 2012-09-05T15:14:58.477 に答える