可空列的索引

我在一个可为空的列上有一个索引,我想选择它的所有值,如下所示:

选择e.ename
来自emp e;

在解释计划中,我看到一个全表扫描(即使是提示也没有帮助)

选择e.ename
来自emp e
其中e.ename='gdoron';

是否使用索引

我在谷歌上搜索发现索引中没有空条目,因此第一个查询不能使用索引

我的问题很简单:为什么索引中没有空条目?

默认情况下,关系数据库忽略NULL值(因为关系模型说NULL表示“不存在”)。所以,索引不存储NULL值,所以若SQL语句中有NULL条件,则忽略相关索引(默认情况下)

但是你可以解决这个问题,检查这篇文章或这篇文章

发表评论