oracle走强制索引的形式

最近半年一直接触Oracle,走强制索引的场景越来越多,很多表加了索引看sql的执行计划(PL/SQL Developer中的快捷键F5)发现还是很慢,就像没有走索引一样。

这里查了下强制索引的形式,一下这段进攻参考:

首先要看你的Oracle优化器采用的是RBO还是CBO,
(1)如果使用的是RBO的话,会按照规则顺序来进行的.
(2)如果使用的是CBO的话,那么可以使用HINT方式进行修改。
语法:SELECT /*+ index(table IndexName)*/
如果查询语句中,表用到别名时,上边语句中的table一定要是别名,否则不走执行强制索引
select /*+INDEX(t IDX_DATE)*/ 
from student t  
where t.stunum > 00000001
and t.stunum <  32000010

group by t.class

PS:查看执行计划,使用"select * from table(dbms_xplan.display)"  explain plan命令后得到的执行计划也是可以的。还有一种通过sqlplus输入:

Sql> set autotrace on

Sql> select * from dual; 也是可以查看的。





你可能感兴趣的:(数据库)