1.测试表,及测试语句where条件中OR对应两个字段选择度很高
create table t618 as select * from dba_objects;
select object_name from t618 where (object_id=12043 or DATA_OBJECT_ID=12043) and STATUS='VALID';
2.没有索引情况下,全表扫描逻辑读1238。
3.OR其中一列创建索引,无法使用索引,全表扫描。
SYS@db11g> create index idx_t618_01 on t618(object_id) online;
Index created.
4.OR对应两列同时创建索引,可以使用到两个索引,并CONCATENATION,逻辑读降为7。
SYS@db11g> create index idx_t618_02 on t618(DATA_OBJECT_ID) online;
Index created.