我正在尝试编写一个XML文件,这是一个Google商品Feed,但速度非常慢。
做了相当多的谷歌搜索,我不确定最快的方法,除了把它分成更小的文件。
我目前有大约3500种产品,这就是我正在做的事情。
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编写,使用.NET 2.0
任何建议表示赞赏。
答案 0 :(得分:0)
性能问题似乎没有写入,但看起来是导致性能下降的读数。你在哪里读数据?数据库?那就是性能瓶颈所在。