- 0
- 0
- 约1.62万字
- 约 16页
- 2024-03-23 发布于江苏
- 举报
oracle执行计划学习文档
Oracle执行SQL的步骤
SQL语句的两种类型
DDL语句,不共享,每次执行硬解析;
DML语句,会共享,硬解析或者软解析。
SQL执行步骤
1、语法检测。判断一条SQL语句的语法是否符合SQL的规范;
2、语义检查。语法正确的SQL语句在解析的第二个步骤就是判断该SQL语句所访问的表及列是否准确?用户是否有权限访问或更改相应的表或列?
3、检查共享池中是否有相同的语句存在。假如执行的SQL语句已经在共享池中存在同样的副本,那么该SQL语句将会被软解析,也就是可以重用已解析过的语句的执行计划和优化方案,可以忽略语句解析过程中最耗费资源的步骤,这也是我们为什么一直强调避免硬解析的原因。这个步骤又可以分为两个步骤:
(1)验证SQL语句是否完全一致。
(2)验证SQL语句执行环境是否相同。比如同样一条SQL语句,一个查询会话加了/*+first_rows*/的HINT,另外一个用户加/*+all_rows*/的HINT,他们就会产生不同的执行计划,尽管他们是查询同样的数据。
通过如上三个步骤检查以后,如果SQL语句是一致的,那么就会重用原有SQL语句的执行计划和优化方案,也就是我们通常所说的软解析。如果SQL语句没有找到同样的副本,那么就需要进行硬解析了。
4、Oracle根据提交的SQL语句再查询相应的数据对象是否有统计信息。如果有统计信息的话,那么CBO将会使用这些统计信息产生所有可能的执行计划(可能多达成千上万个)和相应的Cost,最终选择Cost最低的那个执行计划。如果查询的数据对象无统计信息,则按RBO的默认规则选择相应的执行计划。这个步骤也是解析中最耗费资源的,因此我们应该极力避免硬解析的产生。至此,解析的步骤已经全部完成,Oracle将会根据解析产生的执行计划执行SQL语句和提取相应的数据。
优化器介绍
Oracle在执行一个SQL之前,首先要分析一下语句的执行计划,然后再按执行计划去执行。分析语句的执行计划的工作是由优化器(Optimizer)来完成的。不同的情况,一条SQL可能有多种执行计划,但在某一时点,一定只有一种执行计划是最优的,花费时间是最少的。
Oracle目前提供RBO和CBO两种优化器。
2.1RBO(RULE-BASEOptimization)基于规则的优化器
RBO的执行路径和等级:
1、SingleRowbyRowid(等级最高)
2、SingleRowbyClusterJoin
3、SingleRowbyHashClusterKeywithUniqueorPrimaryKey
4、SingleRowbyUniqueorPrimaryKey
5、ClusteredJoin
6、HashClusterKey
7、IndexedClusterKey
8、CompositeIndex
9、Single-ColumnIndexes
10、BoundedRangeSearchonIndexedColumns
11、UnboundedRangeSearchonIndexedColumns
12、SortMergeJoin
13、MAXorMINofIndexedColumn
14、ORDERBYonIndexedColumn
15、FullTableScan(等级最低)
优化器根据上述等级优先选择高效的执行路径,以上涉及到的概念在后面详细分析。
2.2CBO(COST-BASEOptimization)基于代价的优化器
Oracle把一个代价引擎集成在数据库内核,用来估计每个执行计划的代价,并量化执行计划所耗费资源,从而选择选择最优的执行计划,查询耗费资源分为以下三种。
I/0代价,即从磁盘读数据到内存的代价,从数据文件中数据块的内容读取到SGA数据高速缓存中,这是数据访问最主要的代价,故优化原则一般以降低查询产生的I/0次数为主;
CPU代价,即处理在内存中数据所需代价,如对数据进行排序(sort)或者连接(join)操作等;
NetWork代价,对访问跨服务器数据库的数据,需要花费的传输操作耗费的资源。
CBO方式通过表和索引的统计数据计算出相对准确的代价,然后采用最佳的执行计划,所以定期对表和索引进行分析是非常必要的,否则得不偿失,关于数据分析技术详见第三章。
2.3优化器模式
Optimization-mode即优化器模式,可选值包括:
Rule,采用的是RBO;
CHOOSE,根据实际情况,如果数据字典中包含了引用表的统计数据,则
您可能关注的文档
- 学习《势在人为》心得体会.doc
- mysql学习笔记(最新整理版).doc
- 南宁市房地产发展状况调查研究报.doc
- 课外学习总结报告.doc
- 文明教师事迹材料.doc
- 农残检验报告.pptx
- 临街防护棚搭设专项方案.docx
- 政审调查提纲.doc
- 课程学习心得(模版)_2.doc
- 车险企划方案.pptx
- (正式版)DB33∕T 2574-2023 《 数字乡村建设规范 》.pdf
- (正式版)DB33∕T 2554-2022 《“GM2D”进口商品数据元 》.pdf
- (正式版)DB33∕T 2573-2023 《 助残护理员照护服务规范 》.pdf
- (正式版)DB33∕T 2542-2022 《餐饮计量规范 》.pdf
- (正式版)DB33∕T 2558.1-2022 《林下套种菌药生产技术规程 第1部分:大球盖菇》.pdf
- (正式版)DB33∕T 2558.3-2022 《林下套种菌药生产技术规程 第3部分:羊肚菌 》.pdf
- (正式版)DB33∕T 2575-2023 《 野生猛禽和涉禽安全救护技术规程 》.pdf
- (正式版)DB33∕T 2544-2022 《森林人家建设规范》.pdf
- (正式版)DB33∕T 310010-2021 《沿海防护林生态效益监测与评估技术规程》.pdf
- (正式版)DB33∕T 3004.1-2015 《农村厕所建设和服务规范 第1部分:农村改厕管理规范 》.pdf
原创力文档

文档评论(0)