0

我正在尝试编写一个 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.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等等,所以不太确定这里到底发生了什么。

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

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

显然我正在使用 .NET 2.0 使用 VB 进行编码

任何建议表示赞赏。

4

1 回答 1

0

性能问题似乎不是在写入,但看起来是导致性能缓慢的读取。你从哪里读取数据?数据库?那么这就是性能瓶颈所在。

于 2012-07-09T14:13:43.280 回答