查询只返回4-5行。执行时间不到1秒。我试着增加了cfquery和cfsetting的超时时间,但没有起作用。大多数情况下,代码都能成功运行,但每次20-30次请求后,我都会收到这个错误。我使用的是sql server数据库。我知道当您重启cf服务器或db服务器时,有时会出现超时问题,但此错误在没有重启任何服务(cf或sql server)的情况下出现。我认为应该有一些设置的变化,在cf服务器,请建议。
请求已超过允许的时间限制标记: CFQUERY错误发生在第180行。
<CFQUERY NAME="Sections" DATASOURCE="abcd">
SELECT * FROM News_Sections where Section = 'Home' ORDER BY Page_order
</CFQUERY>发布于 2016-04-25 21:50:54
这里可能出现的问题是数据库,而不是ColdFusion。我有几个建议给你。首先,使用MSSQL活动监视器检出块(作为等待类型)。如果你看到一个块或“头块”,点击那个项目,它会向你显示查询(有时是:)。

一旦找到它,修复问题将涉及到索引或更改查询(复杂的连接或子查询通常会产生意想不到的结果)。
你可能在上面的查询中使用了"WITH(nolock)“来允许脏读(如果你只是获取类别,可能还可以)。您还可以考虑使用caching缓存上面的查询,或者将其放在应用程序范围内。如果只是宽泛的“家”类别,这对我来说似乎是合理的(尽管很明显我不知道你的模式。
我的最后一点建议是仔细检查发生错误的页面。有时行号会有一点偏移。如果你有一组查询,它可能不是你认为出错的那个查询,而是它上面的那个。这并不常见,但它是可能发生的。
发布于 2016-04-25 22:26:45
正如Bracuk先生所指出的,这可能不是您的查询的问题。此错误与CFAdmin中的请求超时设置有关。正在加载的页面经历了超时并抛出了错误。当超时发生时,它恰好正在处理您的查询。
因此,虽然查询是一个开始查找的好地方,但在搜索超时原因时,请确保检查整个脚本。
https://stackoverflow.com/questions/36840786
复制相似问题