在数据库优化过程中,索引的重要性是不言而喻的,但是在我们进行性能调整过程中, 一个索引是否能够被使用到,在索引创建之前是存在不确定性的。
而创建索引又是一个代价很高的操作,尤其是数据量很大的情况下,在11g环境下我们就可以考虑使用虚拟索引,预估索引的效果。
1.
alter session set "_use_nosegment_indexes" = true; create index idx_tkk1207_query on tkk1207(ownerid) nosegment; explain plan for select * from tkk1207 t where t.ownerid = 'xxx'; select * from table(dbms_xplan.display()); 2. 高锋期数据库运行缓慢,latch: cache buffers chains等待 Oracle使用WHERE C1='' OR C2 IN(SubQuery)的方式会造成索引失效问题,以下是测试示例: a、将子查询的结果先取出,然后再静态编入到IN()条件;b、把两个条件的OR,改为UNION