【发布时间】:2011-02-14 17:32:48
【问题描述】:
我在循环一个大约 20-30 MB(650000 行)的 XML 文件时遇到问题。
这是我的元代码:
<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>
xml 文件的结构是(是的,不是很好:-)
<advs>
<advuser>
<user>
</user>
<vehicle>
<vehicle>
</advuser>
</advs>
大约 120,000 行后,我收到一个错误:“内存不足”。
如何提高脚本的性能?
如何诊断最大内存消耗在哪里?
【问题讨论】:
标签: xml coldfusion