cfquery 需要更长的时间
cfquery taking much longer
像
这样的简单查询
SELECT TOP 1 ColName FROM <TABLE> WITH (NOLOCK) WHERE SomeFieldName='xxxxx'
在 CF 上花费了很多时间。在管理工作室 运行 时的相同查询,运行s 没有任何问题。它在 SomeFieldName 上有索引。我安装了 FusionReactor。它显示它需要 25-35 秒。 dev 中的查询计划没有任何建议。
这里出了什么问题?可以索引一个问题吗? (我无法在产品中访问它们)。
冷聚变 2018。
编辑:CF2016
上的相同查询 运行
我们终于找到了缓慢 运行 查询的答案,尽管仍然不知道为什么会这样。
SomeFieldName
列的数据类型为 varchar
。 CF2018,以某种方式将 varchar 参数作为 nvarchar
发送到 SQL 服务器。因此,索引无法正常工作。我们发现在SQL monitor.
我们在 CF Admin 中选中了 String Format 复选框,该复选框未启用,因此不确定为什么它会将 varchar 作为 nvarchar 发送。
我们重置了 CF 管理设置,选中复选框,保存,再次取消选中,保存并重置实例,它开始正常工作。
像
这样的简单查询SELECT TOP 1 ColName FROM <TABLE> WITH (NOLOCK) WHERE SomeFieldName='xxxxx'
在 CF 上花费了很多时间。在管理工作室 运行 时的相同查询,运行s 没有任何问题。它在 SomeFieldName 上有索引。我安装了 FusionReactor。它显示它需要 25-35 秒。 dev 中的查询计划没有任何建议。
这里出了什么问题?可以索引一个问题吗? (我无法在产品中访问它们)。
冷聚变 2018。
编辑:CF2016
我们终于找到了缓慢 运行 查询的答案,尽管仍然不知道为什么会这样。
SomeFieldName
列的数据类型为 varchar
。 CF2018,以某种方式将 varchar 参数作为 nvarchar
发送到 SQL 服务器。因此,索引无法正常工作。我们发现在SQL monitor.
我们在 CF Admin 中选中了 String Format 复选框,该复选框未启用,因此不确定为什么它会将 varchar 作为 nvarchar 发送。 我们重置了 CF 管理设置,选中复选框,保存,再次取消选中,保存并重置实例,它开始正常工作。