sql - 使用 newquery 构建记录集与联合并连接到数据库相比效率高多少?

标签 sql database coldfusion

使用 queryNew() 构建查询的效率如何?我最近遇到了为“虚拟查询”创建数据库调用的代码,该查询没有像这样连接到任何表:

<CFQUERY NAME="IncludeList" ....>
Select 0 as code, 'Exclude' as description
UNION ALL
Select 1 as code, 'Include' as description
</CFQUERY>

对比

<cfset IncludeList = queryNew("code, description","Integer, VarChar")>
<cfset newrow = queryaddrow(IncludeList, 2)>
<cfset temp = querysetcell(IncludeList, "code", 0, 1)>
<cfset temp = querysetcell(IncludeList, "description", "Exclude", 1)>
<cfset temp = querysetcell(IncludeList, "code", 1, 2)>
<cfset temp = querysetcell(IncludeList, "description", "Include", 2)>

最佳答案

避免数据库连接。

对于 QofQ(即 dbtype="query"),虽然这看起来是个好主意,但在实践中我已经看到当多个请求都命中同一个 QofQ 时服务器负载崩溃。根据堆栈跟踪,QofQ 实现是单线程,阻塞了其他线程。

另一方面,我也有代码执行 querySetCell() 操作,这不是性能问题。

关于sql - 使用 newquery 构建记录集与联合并连接到数据库相比效率高多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5461187/

相关文章:

sql - 在 SQL 'LIKE' 命令中转义单引号的方法

mysql - SQL 引擎会在此查询中使用除暴力以外的任何方法吗?

coldfusion - 使用静态变量

php - 前端用户在 WordPress 中注册时未将值写入数据库

coldfusion - Coldfusion 有没有办法将所有错误发送到特定的电子邮件?

rest - 冷聚变 10 : Handling and Logging Errors With New REST API

sql - Oracle - 如何对相关项目求和?

sql - 对联合查询求和

sql - RDBMS数据库中的多对多关系

mysql - Rails 对拉丁语、荷兰语等的多种支持