oracle索引的一些实践

最近要给一些全表扫描的sql做优化,首先想到的就是建索引啦。

查了下网上资料说where 中有is null 或is not null的话是不会用到索引的,但我在测试的时候发现is null 是的确不会用索引,但is not null 会用哦!

还有一些人说某一列要是含有null值,即使在这一列建立索引也没用,但我实际测试的时候发现即使那一列有null值也是可以用索引的!

我建索引的名称以IDX开头,这样查询起来就方便了:

select * from all_indexes where INDEX_NAME like '%IDX%'

在PL/SQL下可以在SQL window下写你的sql语句,然后按 ‘ F5’ 就可以打开执行计划窗口了,从这里可以看到oracle是否采用了索引。

全表扫描的:



采用索引的:

oracle索引的一些实践_第1张图片


其中cost 越少越好!

你可能感兴趣的:(oracle索引的一些实践)