我的数据库设置有点复杂,有几个很多很多的表。
我正在尝试从这些数据中生成一个 XML 文档。有一些检查,比如如果没有用一种语言定义名称,请尝试从另一种语言获取名称(而不是显示 null)
我遇到的问题是循环中有很多查询。
是否有任何指导方针,例如远离哪些东西以及使用什么来提高性能?
cfoutput cfloop cfquery ?
我的数据库设置有点复杂,有几个很多很多的表。
我正在尝试从这些数据中生成一个 XML 文档。有一些检查,比如如果没有用一种语言定义名称,请尝试从另一种语言获取名称(而不是显示 null)
我遇到的问题是循环中有很多查询。
是否有任何指导方针,例如远离哪些东西以及使用什么来提高性能?
cfoutput cfloop cfquery ?
如果循环逻辑基本上是在进行数据处理,例如:根据第一个查询的值,决定下一个查询用什么返回数据库,那么为了性能,你能做的最好的事情就是把所有的逻辑都去掉您的 CF 代码,并将其放入数据库中。使用 DB 进行数据处理,使用 CF 处理处理后的数据,并将其转换为输出。
CF 唯一应该进行数据操作的时候是如果您需要处理来自不同来源的数据:例如数据库、一些远程服务、文件系统、不同的数据库等。基本上只有当数据库不能进行数据处理时如果您涉及 ColdFusion 本身。
关于,“就像如果没有用一种语言定义名称,请尝试从另一种语言获取名称(而不是显示空值)”。
您应该能够在查询中执行此操作。几乎每个数据库都有一个合并功能。它们也都支持案例构造。您只需要根据您的情况选择最合适的方法即可。