小编典典

可为空的列的索引

sql

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

SELECT e.ename 
FROM   emp e;

在说明计划中,我看到了FULL TABLE SCAN一个提示(即使提示也无济于事)

SELECT e.ename 
FROM   emp e
WHERE  e.ename = 'gdoron';

确实使用索引…

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

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


阅读 157

收藏
2021-03-10

共1个答案

小编典典

默认情况下,关系数据库会忽略NULL值(因为关系模型说NULL表示“不存在”)。因此,索引不存储NULL值,因此,如果您在SQL语句中具有空条件,则将忽略相关索引(默认情况下)。

但是您可以解决这个问题,请查看此内容文章。

2021-03-10