NULL&not NULL

来源:互联网 发布:男科网络咨询说话技巧 编辑:程序博客网 时间:2024/04/19 13:46

A: IS NULL 与 IS NOT NULL

  不能用null作索引,任何包含null值的列都将不会被包含在索引中。即使索引有多列这样的情况下,只要这些列中有一列含有null,该列就会从索引中排除。也就是说如果某列存在空值,即使对该列建索引也不会提高性能。

  任何在where子句中使用is null或is not null的语句优化器是不允许使用索引的。

事实上SQL Server的索引是包含了null 值,而Oracle的索引是不包含null值的,估计“is null 和 is not null 将会导致索引失效”这个传说是从Oracle开始发迹,后来被生搬硬套到SQL Server中了,然后讹传至今。

0 0