Oracle执行计划
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
PPT文档演模板
Oracle执行计划
索引访问方式
索引扫描:
从索引中读取一个或多个ROWID。索引值通常按照升序方式扫 描。
Oracle索 引
快速全索引扫描:
2.操Au作t语ot句r均ac可e)(自动跟踪)
基本使用方式:SQL> set autotrace on; (SQL PLUS中使用)
3.其他工具
PPT文档演模板
Oracle执行计划
准备:创建Plan_table表
PPT文档演模板
create table plan_table ( statement_id
0 SELECT STATEMENT Optimizer=CHOOSE
1 0 TABLE ACCESS (FULL) OF 'DUAL'
结果数据 执行计划
Statistics ----------------------------------------------------------
0 recursive calls 0 db block gets 3 consistent gets 0 physical reads 0 redo size 372 bytes sent via SQL*Net to client 511 bytes received via SQL*Net from client 2 SQL*Net roundtrips to/from client 0 sorts (memory) 0 sorts (disk) 1 rows processed SQL>
connect by prior id=parent_id ;
Oracle执行计划
第一个执行 计划
对应SQL语句:
select * from dual;
执行计划:
PPT文档演模板
Oracle执行计划
怎样看执行计划
执行计划其实是一棵树,层次最深的最先执行,层次 相同,上面的先执行。显示时已经按照层次缩进,因 此从最里面的看起。最后一组就是驱动表。例:
varchar2 (30),
object_instance integer,
object_type
varchar2 (30),
optimizer
varchar2 (255),
search_columns integer,
id
integer,
parent_id
integer,
position
integer,
存储器,得到需要的结果集。
执行计划的主要内容:访问方式,访问 顺序。
PPT文档演模板
Oracle执行计划
得到执行计划的方式
1.Explain(解释)
基本格式:explain plan set STATEMENT_ID='testplan' For Select ….. (Select,insert,update 等数据
统计信息
Oracle执行计划
PPT文档演模板
使用Explain
1,删除上次解析数据
delete from plan_table where STATEMENT_ID='testplan';
2,执行解析
explain plan set STATEMENT_ID='testplan' for select * from dual;
3,显示执行计划
select lpad(' ',5*(level-1))||operation operation, options,
object_name, cost,position from plan_table
start with id=0 and STATEMENT_ID='testplan'
long,
Oracle执行计划
PPT文档演模板
AUTO TRACE
SQL> set autotrace on; SQL> select * from dual; D X Execution Plan ----------------------------------------------------------
驱动表
select count(*) from prm_adjustprice main,prm_adjustprice_b detail
where main.cadjpriceid=detail.CADJPRICEID and main.DADJPRICEDATE >= '2004-04-18'
and detail.CINVENTORYID in (select pk_invmandoc from bd_invmandoc where bd_invmandoc.SEALFLAG='N');
cost
integer,
cardinality
integer,
bytes
integer,
other_tag
varchar2 (255),
partition_start varchar2 (255),
partition_stop varchar2 (255),
partition_id
integer,
other
PPT文档演模板
Oracle执行计划
表访问方式
全表扫描:
读取表的每一条记录,顺序地从第一个数据块开始知道结尾 标志。
散列获取:
使用散列算法得到符号关键值的来确定记录所在的数据块。 它能减少数据读入量,但是存在重新定位记录的问题,只能 在静态表中使用。
ROWID访问:
ROWID包含记录的数据块号和数据块中的偏移量。因此它 是获取一条记录的最快的方法。
Oracle执行计划
PPT文档演模板
2020/11/3
Oracle执行计划
SQL执行过程
1,解析SQL
•检查安全性 •检查SQL语法 •查询重新书写 2,执行
•创建执行计划
•捆绑执行计划 •执行执行计划 •读取结果集 3,显示结果集 4,转换字段数据
PPT文档演模板
Oracle执行计划
执行计划
执行计划: Oracle内部的机器级代码,决定如何访问
varchar2 (30),
Biblioteka Baidu
timestamp
date,
remarks
varchar2 (80),
operation
varchar2 (30),
options
varchar2 (30),
object_node
varchar2 (128),
object_owner
varchar2 (30),
object_name