从数据库创建XML文件的性能问题

时间:2012-07-09 12:37:26

标签: xml vb.net performance filestream xmltextwriter

我正在尝试编写一个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()

我不熟悉FileStreamMemoryStream等等,所以不确定写作方面究竟发生了什么。

大概写入内存会更快,但是这样做的过程是什么,然后保存到磁盘?

数据量是否会成为内存的问题?

显然我正在用VB编写,使用.NET 2.0

任何建议表示赞赏。

1 个答案:

答案 0 :(得分:0)

性能问题似乎没有写入,但看起来是导致性能下降的读数。你在哪里读数据?数据库?那就是性能瓶颈所在。