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。

你是如何填写数据表的?如果您使用一些延迟加载技术,这可能会解释高内存使用率,但这不是由 WriteXML 造成的,而是由数据本身造成的。

于 2012-09-05T15:14:58.477 回答