Bir XML dosyasına yaklaşık 20-30 MB (650000 satır) üzerinden döngü yaparken sorun yaşıyorum. Büyük bir XML dosyasının üzerinde döngü
Bu
benim meta kodu: xml dosyasının<cffile action="READ" ile="file.xml" variable="usersRaw">
<cfset usersXML = XmlParse(usersRaw)>
<cfset advsXML = XmlSearch(usersXML, "/advs/advuser")>
<cfset users = XmlSearch(usersXML, "/advs/advuser/user")>
<cfset numUsers = ArrayLen(users)>
<cfloop index="i" from="1" to="#numUsers#">
... some selects...
... insert...
<cfset advs = annunciXml[i]["vehicle"]>
<cfset numAdvs = ArrayLen(advs)>
<cfloop index="k" from="1" to="#numAdvs#">
... insert... or ... update...
</cfloop>
</cfloop>
yapıdır.İlk (evet, değil çok iyi :-)
<advs>
<advuser>
<user>
</user>
<vehicle>
<vehicle>
</advuser>
</advs>
~ 120,000 satır sonra bir hata alıyorum: " Bellek yetersiz".
Komut dizimin performansını nasıl artırabilirim?
Maksimum bellek tüketiminin nerede olduğunu nasıl teşhis edebilirim?
coldfusion bir javascript uyumlu bir ortamdır? –
@ vtd-xml-author: "uyumlu ortam" ile ne demek istediğinizi açıklayın. ColdFusion'ın birincil amacı, HTTP isteklerine yanıt vermek için sunucu tarafı dilidir. Bu şekilde, çıktı genellikle HTML, CSS ve JavaScript'dir. Ve AJAX isteklerine kolayca cevap verebilecek özelliklere de sahiptir. – orangepips
Sadece meraktan dolayı, xml'yi ayrıştırmak için jquery'yi kullanırsanız ve sonuçları veri hattını işleyen bir coldfusion cfc'ye gönderirseniz ne olur? Sadece bir düşünce. – crosenblum