WriteXml用于数据集或数据表是否使用内存?

时间:2012-08-07 16:04:46

标签: c# .net vb.net

我有一个包含超过10000行的数据表。

我什么时候:

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

writexml() 是否使用内存或HardDrive?

我测试了,我发现它占用了大量内存。

编写文件通常使用FileStreams。所以它不应该使用内存。

我错了吗?

1 个答案:

答案 0 :(得分:0)

我不认为WriteXML吃内存是正常的。刚刚在表中测试了287,120行(导出的XML大小近200MB) - 内存使用率保持不变。将此表加载到内存中需要大约1.2GB,然后在编辑器中打开它。运行WriteXML后,内存消耗在4-5秒内保持不变,可能会上下1MB。

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