搜索时CONVERT()对INDEX有什么影响?

搜索时CONVERT()对INDEX有什么影响?,第1张

搜索时CONVERT()对INDEX有什么影响?

通常,当您在WHERe子句中比较的左侧具有函数时,服务器将无法利用引用列上的索引

在第一个示例中,没有直接与DateFrom列进行比较。相反,您在列上使用了一个函数。当服务器扩展它时,它必须对每个列值执行该功能,并且不对结果值建立索引。因此,不能使用索引来改善查询。

同样,在第一个示例中,您指出DateFrom列是datetime列。但是,您正在将列转换为字符串并进行字符串比较。因此,服务器将不使用您的日期时间索引。

在第二个示例中,您将直接将常量值与date列进行比较,因此服务器可以利用索引。服务器会将比较右侧的字符串常量转换为datetime值。但是,它不会在所有情况下都使用索引。例如,如果您的行数很少,则服务器可能会决定不使用索引,而只扫描几行。

这两个查询可能会产生相同的结果集,但是它们仍然有很大的不同。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5649772.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存