如何使用查询查询使我的 Coldfusion 代码更有效率



我有一些代码,我正在努力提高效率。

我正在运行一个查询,然后循环浏览这些结果并运行其他查询以进一步深入到我的数据。代码需要很长时间来处理,我确信它没有达到应有的效率,我相信对查询进行查询会更有效率,但我不确定如何准确实现它。

这是我当前的代码

我的第一个查询:

<!--- Get equipment Query --->    
<cfquery name="get_equipment" datasource="#datasource#">
select *
from equipment_maintenance
where machine_type != 'unifi_site' AND machine_type != 'firewall' AND machine_type != 'dvr' AND machine_type != 'pbx' AND active = 'yes'
ORDER by #querySortType#
</cfquery> 

然后我输出我的查询并运行其他查询:

<cfoutput query="get_equipment">
<!--- Get In-Progress Maintenance History --->
<cfquery name="get_in_progress_history" datasource="#datasource#">
select *
from service_ticket
where equipment_id=#id#
</cfquery>
OUTPUT SOME DATA
<!--- Update due date in the database for this machine --->  
<cfquery name="dueDate#id#" datasource="#datasource#">
update equipment_maintenance
set maintenance_due_date = #dueDate#
where id = #id#
</cfquery>
OUTPUT SOME DATA
<cfquery name="get_history" datasource="#datasource#">
select *
from equipment_service_history
where equipment_id = #id#
</cfquery> 
<cfquery name="get_history_ticket_detail" datasource="#datasource#">
select *
from closed_tickets
where equipment_id = #id#
order by ticket_id DESC
</cfquery>
OUTPUT SOME DATA
<cfloop query="get_history_ticket_detail">
OUTPUT SOME DATA
</cfloop>
</cfoutput>

中间有很多HTML代码用于输出我的数据,但这是我的Coldfusion代码的基本结构。

我假设我的 CFOUTPUT 标签中的多个查询是什么导致了性能问题正确吗?如何使用 QoQ 解决此问题?

-布莱恩

这是一个简单的操作。 将更新语句更改为

<cfquery datasource="#datasource#">
update equipment_maintenance
set maintenance_due_date = #dueDate#
where machine_type != 'unifi_site' AND machine_type != 'firewall' AND machine_type != 'dvr' AND machine_type != 'pbx' AND active = 'yes'
</cfquery>

无需为其命名,因为它不返回任何数据

最新更新