在一些特殊场景下,可能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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
【纯干货】Oracle 19C RU 19.27 发布,如何快速升级和安装?
Lucifer三思而后行
743次阅读
2025-04-18 14:18:38
Oracle RAC 一键安装翻车?手把手教你如何排错!
Lucifer三思而后行
644次阅读
2025-04-15 17:24:06
Oracle数据库一键巡检并生成HTML结果,免费脚本速来下载!
陈举超
565次阅读
2025-04-20 10:07:02
【ORACLE】你以为的真的是你以为的么?--ORA-38104: Columns referenced in the ON Clause cannot be updated
DarkAthena
514次阅读
2025-04-22 00:13:51
【活动】分享你的压箱底干货文档,三篇解锁进阶奖励!
墨天轮编辑部
510次阅读
2025-04-17 17:02:24
【ORACLE】记录一些ORACLE的merge into语句的BUG
DarkAthena
495次阅读
2025-04-22 00:20:37
一页概览:Oracle GoldenGate
甲骨文云技术
478次阅读
2025-04-30 12:17:56
火焰图--分析复杂SQL执行计划的利器
听见风的声音
436次阅读
2025-04-17 09:30:30
3月“墨力原创作者计划”获奖名单公布
墨天轮编辑部
381次阅读
2025-04-15 14:48:05
OR+DBLINK的关联SQL优化思路
布衣
370次阅读
2025-05-05 19:28:36