0
Google 제품 피드 인 XML 파일을 작성하려고하지만 속도가 매우 느립니다.데이터베이스에서 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()
나는, 그래서 정말 쓰기에 관한 정확히 어디에 여기에 무슨 일이 일어나고 있는지 FileStream
, MemoryStream
등 익숙하지입니다.
아마도 메모리에 쓰는 것이 더 빨라지 겠지만, 그렇게하고 디스크에 저장하는 과정은 무엇입니까?
데이터 양이 메모리 문제일까요?
은 분명히 나는 .NET 2.0감사 어떤 제안을 사용하여, VB로 코딩하고 있습니다.
감사합니다. 그래서 내가 쓰고있는 write 메소드가 퍼포먼스를위한 최선의 방법이라는 말입니까? 그 때 사용하는 것보다 데이터 집합을 반복하는 더 빠른 방법이 있습니까? 나는 MySQL 데이터베이스와'OdbcDataReader'를 사용하여 쿼리가 충분히 빠르기 때문에 느린 데이터를로드하지는 않지만 쓰는 과정에서 뭔가가 발생합니다. –
오, 나는 그런 바보 야! 나는 각 레코드를 읽는 동안 데이터베이스로 돌아가는 내 배송 데이터를 얻는 것을 깨달았습니다! 도! 처리하는 데 약 60 초 정도 걸리지 만 50 % 향상되며 몇 가지 추가 문제가 있음을 알았습니다. 감사! –