gpt4 book ai didi

sql-server - 使用 cfqueryparams 和 MSSQL Server 时 CFQUERY 超时?

转载 作者:行者123 更新时间:2023-12-03 01:16:33 27 4
gpt4 key购买 nike

我正在执行一个返回大约 16000 行的查询。在 MS SQL Server Manager 中运行直接 SQL 将在几秒钟内返回记录。在 cfquery 中运行相同的 SQL 大约会在同一时间返回它。该查询由来自函数参数的一些变量组成。让cfquery评估变量也可以快速返回查询。

为什么当我为变量添加cfqueryparam时,只有6个变量,查询运行了一个多小时然后超时。 cfsqltype 为 *cf_sql_integer* 和 *cf_sql_timestamp*。一旦我删除它们,它就完成并可以工作了。

最佳答案

一般来说,cfqueryparam 使用 cfqueryparam 应该做得更好,而不是更差,因为它应该会导致更好的缓存命中。但是,如果它没有命中缓存,它将创建一个新计划 - 结果将是一个稍慢的查询 - 而不是超时。所以我猜你实际上是从缓存中获取执行计划,但它并没有像宣传的那样工作。

作为测试,尝试将 cf_sql_timestamp 的“TYPE”更改为 cf_sql_char - 这将强制隐式转换和不同的计划,但将 cfqueryparam 保留在混合中。如果它有效并且您得到了合理的结果,那么您需要清除查询缓存(我的意思是在数据库服务器上)或重新编译您的计划(通过重新编译)等。

关于sql-server - 使用 cfqueryparams 和 MSSQL Server 时 CFQUERY 超时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11422325/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com