performance - CFScript查询性能很差

标签 performance coldfusion

我正在 ColdFusion 中运行一个非常简单的查询。如果我在 cfquery 标签中运行它,它会在大约 20 毫秒内完成。如果我在 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>

最佳答案

我找到了解决方案:

开启组件缓存

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

关于performance - CFScript查询性能很差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12006396/

相关文章:

javascript - 什么时候 JavaScript 小到值得内联(以获得最佳性能)?

android - Android 手机音效的合适音频格式关于效率

c++ - Intel Advisor 赋予的这些功能是什么?

performance - 使用Jmeter进行随机产品选择

javascript - 多次提交表单信息

objective-c - 读取 nsdictionary 与 nsarray 的性能

sql - CFML & SQL - 性能提升?

coldfusion - 如何在coldfusion中使用CFQuery执行2个或多个插入语句?

coldfusion - 是否有 cfscript 支持使用 group 属性循环查询

coldfusion - CFCOMPILE - 预编译 ColdFusion 页面和无源分发