我在可空列上有一个索引,我想选择它的所有值,如下所示:
SELECT e.ename
FROM emp e;
在解释计划中,我看到了一个FULL TABLE SCAN
(即使是提示也无济于事)
SELECT e.ename
FROM emp e
WHERE e.ename = 'gdoron';
是否使用索引...
我搜索了一下,发现索引中没有空条目,因此第一个查询不能使用索引。
我的问题很简单:为什么索引中没有空条目?
最佳答案
默认情况下,关系数据库会忽略 NULL 值(因为关系模型表示 NULL 表示“不存在”)。因此,索引不存储 NULL 值,因此如果您在 SQL 语句中有 null 条件,相关索引将被忽略(默认情况下)。
关于sql - 可空列的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9175591/