首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >哪个更快: CFM页面充满了CFQUERY调用还是CFINVOKE调用?

哪个更快: CFM页面充满了CFQUERY调用还是CFINVOKE调用?
EN

Stack Overflow用户
提问于 2022-05-02 23:08:56
回答 2查看 137关注 0票数 -2

哪一个会更快更有效的记忆?

  1. 包含单个CFQUERY调用的CFM文件
  2. 包含对CFC的单个CFINVOKE调用的CFM文件包含每个相同查询的单独方法

我意识到有不同的方法来调用组件的方法,比如使用createobject。现在,让我们将讨论限制在上述两个选项上。

我没有任何样本代码。只是想知道在上述情况下什么才是最佳做法。

此外,我正在使用更新版本的Adobe ColdFusion (2016、2018、2021年),因此Lucee不是一种选择。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-05-03 16:23:05

简而言之,备选方案2是推荐的做法。您希望将后端处理存储在CFC文件中,这些文件的作用类似于实体类和控制器类的对象,都作为CFM文件的一部分,CFM文件充当表示类。这些协议都源自面向对象的编程范例。

现在,使用组件方法通常是保存查询的更好的选择,(1)这并不意味着您受限于这个选项,(2)这不能回答哪个问题表现得更好。但是,查询仍然应该从组件方法中调用。因为您有相同的查询,所以您可以简单地创建一个有状态查询对象,并且数据和方法可以封装在同一个内存空间中,从而提高了整体性能。

票数 1
EN

Stack Overflow用户

发布于 2022-05-03 17:30:53

我觉得这个问题太天真了。选项(1)将更快,因为它涉及较少的代码和较少的移动部件。我非常希望看到评论中提到的测试,声称"cfinvoke“版本更快。我怀疑这个测试有缺陷,或者没有类似的测试。

然而,这种性能考虑是人们在编写好代码之后所关注的事情(所以.不是第一个选择。绝对不是这样的),而且可以检测到性能问题。在这种代码区分中,很少能获得实际的性能提升。

写好,干净,设计好,易于维护的代码.先做好。如果你真的需要的话,只会恢复到shonky代码来尝试维持最后一毫秒。但是,尽管如此:直接在<cfquery>文件中使用.cfm标记“永远不会”成为解决方案的一部分。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72093277

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档