从数据库创建XML文件时的性能问题
我正在尝试编写一个XML文件,这是一个Google产品提要,但速度非常慢 在谷歌上搜索了很多次之后,我不确定最快的方法是什么,除了把它分解成更小的文件 我目前有大约3500种产品,这就是我正在做的从数据库创建XML文件时的性能问题,xml,vb.net,performance,filestream,xmltextwriter,Xml,Vb.net,Performance,Filestream,Xmltextwriter,我正在尝试编写一个XML文件,这是一个Google产品提要,但速度非常慢 在谷歌上搜索了很多次之后,我不确定最快的方法是什么,除了把它分解成更小的文件 我目前有大约3500种产品,这就是我正在做的 Dim fs As New FileStream(HttpContext.Current.Server.MapPath("LOCATION OF FEED XML"), FileMode.Create) Dim writer As New XmlTextWriter(fs, System.Text.E
Dim fs As New FileStream(HttpContext.Current.Server.MapPath("LOCATION OF FEED XML"), FileMode.Create)
Dim writer As New XmlTextWriter(fs, System.Text.Encoding.UTF8)
writer.WriteStartDocument()
' ==== LOAD DATABASE INTO OdbcDataReader CALLED 'd' ==== '
While d.Read
try
writer.WriteStartElement("item")
writer.WriteStartElement("g:id")
writer.WriteString(pID)
writer.WriteEndElement()
'==== etc
catch
ignore broken ones
end
End While
writer.WriteEndElement()
writer.WriteEndDocument()
writer.Close()
d.Dispose()
connection.Dispose()
connection.Close()
我不熟悉FileStream、MemoryStream等,所以不太确定这里的写作到底发生了什么
可能写入内存会更快,但这样做然后保存到磁盘的过程是什么
数据量是否会成为内存的问题
显然,我是用VB编写的,使用的是.NET2.0
任何建议都值得赞赏。性能问题似乎不是书面的,但似乎是阅读导致性能下降。你从哪里读取数据?数据库这就是性能瓶颈所在。谢谢。那么你是说我使用的写方法是性能最好的方法吗?有没有比我现在使用的更快的方法来迭代数据集?我使用的是MySQL数据库和OdbcDataReader,我的查询加载速度足够快,所以加载数据不是很慢,而是在写出来的过程中。哦,我真是个白痴!我刚刚意识到,在获取运输数据时,我在读取每条记录的同时将数据循环回数据库!啊!它仍然需要大约60秒来处理,但这是一个50%的改进,我想我也发现了一些额外的问题!谢谢