0
我正在嘗試編寫一個XML文件,這是一個Google Product Feed,但速度很慢。從數據庫創建XML文件時的性能問題
做了很多谷歌搜索之後,我不確定最快的方法,除了把它分成更小的文件。
我目前有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
知道的任何建議。
謝謝。那麼你是否說我使用的寫入方法是性能最好的方法?迭代數據集有沒有比我使用的更快的方法?我正在使用MySQL數據庫和'OdbcDataReader'查詢的加載速度足夠快,所以它不會加載數據很慢,而是寫入數據的過程中出現了一些問題。 – 2012-07-09 14:39:09
哦,我真是個白癡!我剛剛意識到在獲取我的運輸數據時,我正在循環訪問數據庫,同時閱讀每條記錄!衛生署!它仍然需要大約60秒的時間來處理,但這是一個50%的提高,我想我也發現了一些額外的問題!謝謝! – 2012-07-09 15:35:00