【发布时间】:2022-01-15 05:13:13
【问题描述】:
我正在使用以下代码,该代码有效,但问题是针对 20000 条记录,循环花费了太多时间并超时。
所以基本上是这样的
<cfset x = new myapi()>
<cfparam name='length' default="0">
<cfparam name='start' default="5000">
<cfset iQEmpty = false>
<cfloop condition="true">
<cfquery name="rs">
select * from mytable limit #start#,#length#
</cfquery>
<cfset start += rs.recordCount>
<cfset myst = queryToJson(rs)>
<cfset call = x.UpsertData(myst)>
<cfif rs.recordCount NEQ 1000>
<cfbreak>
</cfif>
</cfloop>
不能使用最新的coldfusion,因为我仍然卡在cf11上并且upsert期望发送一个json数据
【问题讨论】:
-
您是否尝试将
queryToJson(rs)保存到数组中并在该数组的单独循环中调用<cfset call = x.UpsertData(myst)>? -
UpsertData()实际上是做什么的?它是否将数据保存到另一个表中? -
UpSertData 被调用到 api,它将数据推送到 api 以进行上传和插入上传
-
这可以仅使用数据库来完成吗?如果我们谈论多个数据库,有办法让它们互相交谈。
标签: coldfusion coldfusion-11 lucee