oracle SQL显示执行计划,oracle中查看SQL执行计划

查看sql执行计划的执行顺序:

先从最开头一直连续往右看,直到看到最右边并列的地方,对不不并列的,靠右的先执行,如果看到并列的,就从上往下看,对于并列的部分,上面的先执行

oracle中常见的执行计划

一、表的常见执行计划

1、table access full

2、table access by user rowid

3、table access by index rowid

二、B tree索引相关的执行计划

1、index unique scan

2、index rang scan

3、index full scan

4、 index skip scan

5、index fast full scan

三、与位图索引相关的执行计划

位图索引(物理存储结构为:被索引的键值,对应rowid的上限,对应rowid的下限,位图段(bitmap segment))

位图段:最大只能为位图索引叶子块大小的1/2

位图索引的物理存储结构,决定了位图索引的锁的粒度在位图段上,所以位图索引没有行锁,要锁就是锁位图段,而多个数据行可能对应同一个位图段,所以位图索引不适用高并发,频繁修改的OLTP,会导致严重的并发问题,甚至死锁

位图索引相比btree的几个优势

1、位图段是压缩存储的,所以当索引列的distinct少是,位图索引会明显的节省存储空间

2、需要在多个列上建索引,位图索引会显著减少空间

3、位图所以可以快捷实现某些and 和or的操作,因为位图索引可以实现快捷的按位运算

相关的执行计划

1、位图索引单键值扫描bitmap index single value

2、bitmap index rang scan

3、bitmap index full scan

4、 bitmap index fast full scan

5、bitmap and

6、bitmap or

7、bitmap minus

使用完位图索引后会将结果转换为rowid

bitmap conversion to rowids

四、与表连接相关的执行计划

hash join

nested loops

merge join sort join

hash join anti

nested loops anti

merge join anti sort join

hash join semi

nested loops semi

merge join semi sort join

五、其他典型的执行计划

and equal (index merge)

index join

view

filter 一种改良的嵌套循环连接,不像嵌套循环连接那样,驱动结果集中有多少记录,就要访问多少次被驱动表

sort ,分以下几种,执行计划中出现了sort 不一定代表必须排序,比如sort aggregate 和buffer sort有可能就不排序

sort aggregate

sort unique

sort join

sort group by

sort order by

buffer sort(统计信息中的sort(memory)和sort(disk)对buffer sort不一定是准的,即使有数值,也可能排序,也可能不排序),需要通过类似10032事件,或者 select * from table(dbms_xplan.display_cursor('ggtpk4y6089ma',0,'advanced'));来查看具体的信息确定是不是排序了

union/union all

union all 仅对结果集做合并,union相当于先union all再对结果集sort unique

concat

connect by

select empno,ename,mgr from emp start with empno=7839 connect by prior empno=mgr

六、ORACLE里执行计划的稳定

1、使用sql profile来稳定执行计划

两种类型 automatic 和manual

automatic不能锁定执行计划,需要与sql的原统计信息相结合,只能调整执行计划

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值