Caching ColdFusion |查询超时错误问题
这是我的密码Caching ColdFusion |查询超时错误问题,caching,coldfusion,coldfusion-2016,qoq,Caching,Coldfusion,Coldfusion 2016,Qoq,这是我的密码 <cfquery name="employeeData" datasource="xyz" cachedwithin="#CreateTimeSpan(0,0,60,0)#"> SELECT employee, salary FROM employee </cfquery> <cfquery name="wellPaidEmployee" dbtype="query"> SELECT employee, salary
<cfquery name="employeeData" datasource="xyz" cachedwithin="#CreateTimeSpan(0,0,60,0)#">
SELECT employee, salary
FROM employee
</cfquery>
<cfquery name="wellPaidEmployee" dbtype="query">
SELECT employee, salary
FROM employeeData WHERE salary > <cfqueryparam cfsqltype="cf_sql_integer" value="10000">
</cfquery>
选择员工、薪资
来自员工
选择员工、薪资
来自employeeData,其中工资>
条件:
由于某些问题,第一个查询EmployeeData超时,并抛出错误“query timed out” 问题:
只有成功的db请求被缓存,因此EmployeeData查询将在下一次传递时运行
如果employeeData没有错误,将运行WellPaideEmployee查询。对于注释来说太长了 查询超时和缓存过期是两件不同的事情
<cfquery name="employeeData" datasource="xyz" cachedwithin="#CreateTimeSpan(0,0,60,0)#">
SELECT employee, salary
FROM employee
</cfquery>
选择员工、薪资
来自员工
将在第一次命中时运行。它还将保存其数据60分钟。如果在60分钟内再次访问该数据,缓存超时将重置为零。理论上,如果每60分钟访问一次这些数据,它就永远不会进入数据库
至于
<cfquery name="wellPaidEmployee" dbtype="query">
SELECT employee, salary
FROM employeeData WHERE salary > <cfqueryparam cfsqltype="cf_sql_integer" value="10000">
</cfquery>
选择员工、薪资
来自employeeData,其中工资>
它不知道,也不关心底层数据是否来自缓存。它只会返回结果
如果您遇到“查询超时”错误。这是一个完全不同的问题。ColdFusion与数据库的连接方式有问题,或者数据库本身有问题