2

我有一个 CFM 页面,我在其中调用存储过程。由于查询执行时间过长,该页面似乎超时。我们已经尝试优化/调整 SQL 查询,制作 Clustered and Non-Clustered Indices ,但查询仍然需要大约 4 分钟才能执行。

现在,解决这个问题的唯一方法是增加前端的冷融合超时。但是,我尝试通过使用 CFM 页面上的以下代码段来增加超时。

<cfsetting requestTimeOut="600"> 

但这不起作用。页面在 120 秒后一直超时并抛出超时错误。我们还尝试传递 URL 参数“requestTimeout=600”,但页面在 120 秒后仍然超时。

除了我们上面尝试的方法之外,您能否提出一个解决方案来增加 ColdFusion 中的 TimeOut。

4

2 回答 2

1

Cfstoredproc 有一个timeout可以使用的属性。文档在这里

编辑从这里开始

对于 MX7,请尝试使用cfquery标签

<cfquery timeout = something>
exec yourProcedure
@param1 = <cfqueryparam etc>
etc
</cfquery>
于 2015-01-28T10:47:15.070 回答
0

您可以使用 cfquery 标记而不是 Cfstoredproc 标记调用存储过程。下面是一个简单的例子:

<cfquery name="qryName" datasource="#yourdatabase#">
call nameOfStoredProcedure( #yourvariables#);
</cfquery>

我使用 mysql 作为后端数据库引擎,我不知道这是否也适用于其他数据库引擎。

于 2015-01-28T14:52:37.170 回答