sql-server - 我应该如何索引表以优化以查找空值?

标签 sql-server indexing null

我有一个表,唯一一次我要选择它或做任何反对它的事情是找到特定日期列为空的所有行。从那里开始,我对其进行操作并更新该列,并且可能我再也不会访问该行,除了审计目的。

那么,是否有最佳实践来确保更快地找到我的列 SentDate 为空的行?

最佳答案

当然,要优化表以查找 NULL,您需要使用索引。 NULL 被索引并且像任何其他值一样可查找:

create table foo (a int null, b varchar(100) null);
create clustered index cdxFoo on foo(a);
go

insert into foo (a,b) select Number, 'not null' from master..spt_values

insert into foo (a,b) values (null, 'null')

select * from foo where a is null

select 的查询计划清楚地表明,对键“NULL”的查找用于定位该行。

关于sql-server - 我应该如何索引表以优化以查找空值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2419996/

相关文章:

mysql - 在 mysql 中使用 ifnull 和索引创建

indexing - Neo4j 中可以接受混合类型索引吗?

java - 我们可以在空对象上调用任何方法吗?

java - 如何通过检查现有数组在空数组中添加对象

sql-server - "NOEXEC ON"中的有趣行为

c# - 用户 '' 登录失败,无法打开登录请求的数据库 "Database1.mdf"。登录失败。用户 'rBcollo-PC\rBcollo' 登录失败

.net - 如何处理数据库升级

SQL 显示以前的值,直到给定值更改

java - 获取我刚刚添加到 Java/Android 中的 ArrayList 的对象的索引

c - 将所有结构指针成员设置为 NULL