我在cfoutput标签内写了cfquery。它可以在cfoutput标记之外写入。我的问题是,如果我们在cfoutput中编写cfquery,我们是否有任何性能问题?
答案 0 :(得分:5)
根据我的经验,服务器的最快方式是将<cfoutput></cfoutput>
仅放在包含变量的区域附近 - 否则CF必须扫描标签内的所有内容,以查看它的作用,而不必翻译对于变量/函数。
<cfoutput>
中不必要地包含的内容也会产生不需要的空白,这可能会影响文档大小和下载速度。
我不知道是否有最新ColdFusion版本的可靠性能测试证明了我的观点,我想指出,对于ColdFusion性能肯定有很多比{{1}更重要的事情。在 right 位置(例如缓存查询,内容缓存,范围变量等)。
答案 1 :(得分:1)
从真实的表现角度来看,如果你使用:
<cfoutput><cfquery>SELECT * FROM foo</cfquery>#now()#</cfoutput>
VS
<cfquery>SELECT * FROM foo</cfquery><cfoutput>#now()#</cfoutput>
您不会看到任何性能差异。
但是,您应该真正考虑将DAO(或查询)与您的观点分开......