CFScript查询性能非常糟糕

时间:2012-08-17 13:04:02

标签: performance coldfusion

我在ColdFusion中运行一个非常简单的查询。如果我在cfquery标签中运行它,它会在大约20ms内完成。如果我在cfscript中使用查询对象,则需要大约500毫秒才能完成。它似乎不是查询本身 - 调试输出表明在两种情况下查询都会在大约10毫秒内完成。知道发生了什么事吗?

CFQuery版本:

<cfquery name="selUsers" datasource="m112dev_2">
  SELECT * FROM Users
  WHERE User_ID = 3
</cfquery>

CFScript版本:

<cfscript>
  q = new Query();
  q.setDataSource('m112dev_2');
  q.setName('selUsers');
  selUsers = q.execute(sql="SELECT * FROM Users
                            WHERE User_ID = 3
                     ").getResult();
</cfscript>

1 个答案:

答案 0 :(得分:3)

我找到了解决方案:

启用组件缓存

一旦打开它,我的性能基本相同。我认为问题在于ColdFusion实际上在不同的组件中运行查询(C:\ ColdFusion9 \ CustomTags \ com \ adobe \ coldfusion \ base.cfc),因此如果没有缓存路径解析,则必须每次都找到CFC。