oracle数据库中有ColA,colB和colC的复合索引。 查询如下所示 - >
where colA = ? and colB is null
order by colC
似乎null / not null检查没有命中索引,因此colB没用,但colA = ?
上的条件命中索引。
但是,如果由于空检查而无法使用colB,那么order by colC会从上面的复合索引中获得优势吗?
答案 0 :(得分:2)
复合索引将所有列索引为一个实体。它不会分别索引每个列。因此排序顺序不会使用索引。您需要在该列上添加索引。