简单介绍oracle执行计划,Oracle性能优化之oracle中常见的执行计划及其简单解释

一、访问表执行计划

1、table access full:全表扫描。它会访问表中的每一条记录(读取高水位线以内的每一个数据块)。

2、table access by user rowid:输入源rowid来自于用户指定。

3、table access by index rowid:输入源rowid来自于索引。

4、table access by global index rowid:全局索引获取rowid,然后再回表。

5、table access by local index rowid:分区索引获取rowid,然后再回表。

6、table access cluster:通过索引簇的键来访问索表。

7、external table access:访问外部表。

8、result cache:结果集可能来自于缓存。

9、mat_view rewrite access:物化视图。

二、与B-TREE索引相关的执行计划

1、index unique scan:只返回一条rowid的索引扫描,或者unique索引的等值扫描。

2、index range scan:返回多条rowid的索引扫描。

3、index full scan:顺序扫描整个索引。

4、index fast full scan:多块读方式扫描整个索引。

5、index skip scan:多应用于组合索引中,引导键值为空的情况下索引扫描。

6、and-equal:合并来自于一个或多个索引的结果集。

7、domain index:应用域索引。

三、与BIT-MAP索引相关的执行计划

1、bitmap conversion:将位转换为rowid或相反。

2、bitmap index:从位图中取一个值或一个范围。

3、bitmap merge

4、bitmap minus:

5、bitmap or:

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

1、merge join:排序合并连接。

2、nested loops:嵌套循环连接。

3、hash join:哈希连接。

4、cartesian:笛卡尔积连接。

5、connect by:层次查询索引,多来自于start with子句。

6、outer:外链接。

1)merge join outer:

2)nested loops outer:

3)hash join outer:

7、anti:反连接。

1)merge join anti:

2)nested loops anti:

3)hash join anti:

8、semi:半连接。

1)merge join semi:

2)nested loops semi:

3)hash join semi:

五、与集合相关的执行计划

1、union-all:

2、union(union-all,sort unique):

3、concatenation:

4、intersection:

5、minus:

六、与分区相关的索引

1、partition single:访问单个分区。

2、partition iterator:访问多个分区。

3、partition all:访问所有分区。

4、partition inlist:基于in列表中的值来访问分区。

七、与sort相关的执行计划

1、sort unique:排序、去重。

2、sort join:为merge join的第一步,排序操作,一般与merge join联合使用。

3、sort aggregate:当分组好的数据上使用分组函数时。

4、sort order by:单纯的排序

5、sort group by:排序并分组

6、buffer sort:对临时结果进行一次内存排序。

八、其他执行计划

1、view:

2、count:

3、stopkey:目标sql中存在rownum<10这种情况。

4、hash group by:

5、inlist iterator:

6、filter:过滤,相当于处理过的排序合并连接。

7、remote:与dblink相关的执行计划。

8、for update:

9、sequence:使用了oracle序列。

10、collection iterator:使用了表函数提取记录。

11、fast dual:访问dual表。

12、first row:获取查询的第一条记录。

13、load as select:使用select进行直接路径insert操作,通常加/*+append*/提示。

14、fixed table:访问固定的(X$/V$)表。

15、fixed index:访问固定的索引。

16、window buffer:支持分析函数的内部操作。

Oracle性能优化之Oracle里的执行计划

一.执行计划 执行计划是目标SQL在oracle数据库中具体的执行步骤,oracle用来执行目标SQL语句的具体执行步骤的组合被称为执行计划. 二.如何查看oracle数据库的执行计划 oracle数 ...

oracle性能优化(项目中的一个sql优化的简单记录)

在项目中,写的sql主要以查询为主,但是数据量一大,就会突出sql性能优化的重要性.其实在数据量2000W以内,可以考虑索引,但超过2000W了,就要考虑分库分表这些了.本文主要记录在实际项目中,一个 ...

Oracle性能优化之 Oracle里的优化器

优化器(optimizer)是oracle数据库内置的一个核心子系统.优化器的目的是按照一定的判断原则来得到它认为的目标SQL在当前的情形下的最高效的执行路径,也就是为了得到目标SQL的最佳执行计划. ...

Oracle性能优化之oracle里表、索引、列的统计信息

一.表的统计信息 表的统计信息用于描述表的详细信息,包括记录数(num_rows).表块的数量(blocks).平均行长度(avg_row_len)等典型维度.这些维度可以通过数据字典表DBA_TAB ...

Oracle性能优化之Oracle里的统计信息

一.什么是统计信息 oracle数据库里的统计信息是如下的一组数据:他们存储在数据字典里,且从多个维度描述了oracle数据库数据对象的详细信息. oracle数据库里的统计信息主要分为以下6种情况: ...

Oracle性能优化1-总体思路和误区

最近在看梁敬彬老师关于Oracle性能优化的一些案例,在这里做一些简单的总结 1.COUNT(*)与COUNT(列)哪个更快 drop table t purge; create table t as ...

Oracle 性能优化的基本方法

Oracle 性能优化的基本方法概述 1)设立合理的性能优化目标. 2)测量并记录当前性能. 3)确定当前Oracle性能瓶颈(Oracle等待什么.哪些SQL语句是该等待事件的成分). 4)把等待事 ...

【转载】我眼中的Oracle性能优化

我眼中的Oracle性能优化 大家对于一个业务系统的运行关心有如下几个方面:功能性.稳定性.效率.安全性.而一个系统的性能有包含了网络性能.应用性能.中间件性能.数据库性能等等. 今天从数据库性能的角 ...

Oracle性能优化之SQL语句

1.SQL语句执行过程 1.1 SQL语句的执行步骤 1)语法分析,分析语句的语法是否符合规范,衡量语句中各表达式的意义. 2)语义分析,检查语句中涉及的所有数据库对象是否存在,且用户有相应的权限. ...

随机推荐

CentOS6开启FTP及telnet服务教程

先来开通CentOS6的FTP服务吧.telnet服务也一并学习学习吧.在安装好CentOS以后,需要设置Ftp和Telnet服务文件,才能启动Ftp和Telnet服务,可以通过远程控制进行开启. 开 ...

IOS中将十进制色值转换成UIColor

最近因项目需要,在网上找了一些代码,整合了一下,实现的效果就是将10进制的RGB色值转换IOS用的UIColor,方法还有缺陷,有待改进 UIColor *getColorFromString(NSS ...

JavaScript高级程序设计32&period;pdf

样式 在HTML中定义样式的方式有3种:通过元素包含外部样式表文件.使用元素定义嵌入式样式,以及使用style特性定义针对特定元素的样式,“DOM ...

Oracle学习&lpar;十&rpar;:视图,索引,序列号,同义词

1.知识点:能够对比以下的录屏进行阅读 视图,序列,索引,同义词 SQL> --视图:虚表 SQL> --视图的长处:简化复杂查询.限制数据訪问(银行用的多).提供数据的相互独立.相同的数 ...

SolrCloud攻略

SolrCloud攻略 近期一直在使用SolrCloud,乘着酒醉大概总结一下. 1.安装 原来一直有个误区,认为SolrCloud启动时,必须至少有个core才可以,其实不然. 首先按照Solr官方 ...

php获取id

private static function getClientIp() { if (getenv('HTTP_X_FORWARDED_FOR')) { $tmp = explode(',', ge ...

linux后台执行程序

当我们在终端或控制台工作时,可能不希望由于运行一个作业而占住了屏幕,因为可能还有更重要的事情要做,比如阅读电子邮件.对于密集访问磁盘的进程,我们更希望它能够在每天的非负荷高峰时间段运行(例如凌晨).为 ...

WPF自定义控件(二)の重写原生控件样式模板

话外篇: 要写一个圆形控件,用Clip,重写模板,去除样式引用圆形图片可以有这三种方式. 开发过程中,我们有时候用WPF原生的控件就能实现自己的需求,但是样式.风格并不能满足我们的需求,那么我们该怎么 ...

微信调用itchat库 实现发消息

import itchat,timefrom itchat.content import * itchat.auto_login(enableCmdQR=-1)while True: for i in ...

一个友盟BUG的思考和分析:Invalid update

1.友盟错误信息 Invalid update: invalid number of rows . The number of rows contained ) must be equal to th ...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值