【发布时间】:2016-01-29 17:25:41
【问题描述】:
据我所知,具有空值的列上的索引在“为空”查询中无济于事,因为空匹配所有内容。所以我期待在执行计划中看到索引扫描或全表扫描。
但是,当我查看查询的实际执行计划时,我发现它正在执行 Index Seek。
这怎么可能?还是红鲱鱼?
【问题讨论】:
-
我不确定您所说的“Null 匹配所有内容”是什么意思 - 但我不知道寻找 null 不起作用的原因.. 我可能错了 - 你在哪里获取此信息?
-
这是一个公平的问题,为什么被否决
-
好吧,可能是因为它在特殊情况下声明了特殊的预期行为,而没有说明预期行为的原因。我投票决定关闭,因为没有更多信息,答案似乎是“您对预期的结果有误解”。
-
@Blorgbeard,你似乎是 sql 和英语方面的专家,我都不是。回答某人的问题比对问题本身挑剔要好,你能回答1. sql server 是否索引空值? 2. 如果你的回答是否定的,那么你能解释一下我的查询是如何在索引搜索中结束的吗?
-
@Ranjan 你可以在下面看到我的答案
标签: sql-server sql-server-2008-r2