我经常遇到一个问题,就是在使用“”标签时出现了问题。
比起其他方式,这种方法慢了大约30毫秒。
在计划被缓存之前,两个查询的运行时间大约相同,约为60毫秒。后续的命中导致没有使用cfqueryparam的查询需要1毫秒,而使用cfqueryparam的查询需要30毫秒。DSN正在发送Unicode,列类型为nvarchar。我只注意到这种行为与“LIKE”运算符有关,而与“=”无关。这个特定的列没有索引。
有人知道为什么会出现这种行为吗?
column like <cfqueryparam cfsqltype="cf_sql_varchar" value="abc%" />
比起其他方式,这种方法慢了大约30毫秒。
column like 'abc%'
在计划被缓存之前,两个查询的运行时间大约相同,约为60毫秒。后续的命中导致没有使用cfqueryparam的查询需要1毫秒,而使用cfqueryparam的查询需要30毫秒。DSN正在发送Unicode,列类型为nvarchar。我只注意到这种行为与“LIKE”运算符有关,而与“=”无关。这个特定的列没有索引。
有人知道为什么会出现这种行为吗?
cf_sql_nvarchar
类型。如果我没记错的话,这个类型是在CF10中引入的。 - Leighcfsqltype
无效,CF 不会抛出错误。通常情况下会默认使用cf_sql_char
。因此,我会比较这两个查询的跟踪和概要,并查看幕后发生了什么。这里有一个示例,可以从 DSN 跟踪和 SQL 分析器中获取详细信息。只需忽略 CF10 特定的内容即可。 - Leigh@
,那么当你回复时,该用户会收到通知。关于“所有事情都相等”的问题-DSN间谍日志和MS SQL跟踪是否完全相同? - Leigh