暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

Oracle 强制索引介绍

Oracle优化大师 2018-07-19
2897

  



        在一些特殊场景下,可能Oracle SQL不会自动走索引,这时候,如果对业务清晰熟悉,可以尝试使用强制索引,测试查询语句的性能。


以EMP表为例:  先在EMP表中建立唯一索引,如图。



普通搜索:


SELECT *

  FROM emp t;


查看执行计划:


可以看到,是走的全表扫描。


使用强制索引,在SELECT 后面加上/*.......*/ 中间加上索引的属性,代码如下:


SELECT  /*+index(t pk_emp)*/

 *

FROM emp t


--强制索引,/*.....*/第一个星星后不能有空格,里边内容结构为:

           加号index(表名 空格 索引名)。

--表一定使用别名,注释里的表也要使用别名。



可以看到,这是走的是索引PK_EMP。


使用HINT方式强制索引


首先要看你的Oracle优化器采用的是RBO还是CBO,

(1)如果使用的是RBO的话,会按照规则顺序来进行的.

(2)如果使用的是CBO的话,那么可以使用HINT方式进行修改。


语法:SELECT *+ index(table IndexName)*/



至于有多少种hint方式,请关注下期;



                        


本文分享自微信公众号 - Oracle优化大师,如有侵权,请联系 service001@enmotech.com 删除。
最后修改时间:2019-12-20 10:51:39
文章转载自Oracle优化大师,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论