如何检查cfloop和cfquery的执行时间?

时间:2014-04-08 11:04:31

标签: coldfusion query-optimization cfquery cfloop

我有一些大的查询和循环,这给了我一个excel输出。

我在excel一代的表现上遇到了麻烦。这需要很多时间。所以我想到了优化代码,为此我想知道我的代码块占用了多少时间?请问有谁可以帮忙吗?

我只想知道如何转储cfquery / cfloop / cfoutput的执行时间......?

2 个答案:

答案 0 :(得分:5)

在ColdFusion中没有自动查看代码块执行时间的方法。粒度在文件级别(或方法调用级别)完成。

然而,使用内置函数很容易。我这样做:

startTime = getTickCount()
// block of code to time here
executionTime = getTickCount() - startTime

为了重复使用,我将这种东西变成了UDF:http://www.cflib.org/udf/makeStopwatch(需要CF10 + / Railo4 +)

答案 1 :(得分:2)

您可以在块周围包裹cftimer,这会在调试信息中显示时间(如果已启用)。或者,您可以将两次调用getTickCount进行比较,以获得变量中的时间,您可以根据需要输出变量。

请记住,更改后的第一个请求包含的编译开销并不总是适用(为了获得平均时间,可能需要刷新页面几次)。

对于特定的查询,您可以使用FusionReactor等工具来检查所需的时间,而无需修改代码。