数据库的优化培训(Oracle)
时间:2026-01-20
时间:2026-01-20
数据库ORACLE SQL优化培训软件一部
2012年2月
◎Copyright new doone All right reserved
http://www.77cn.com.cn
培训内容
主要介绍与SQL调整有关的内容,内容 涉及多个方面:1.SQL语句执行的过程 2.ORACLE优化器 3.表之间的关联 4.如何得到SQL执行计划 5.如何分析执行计划等内容
◎Copyright new doone All right reserved
http://www.77cn.com.cn
背景知识
在调整之前我们需要了解一些背景知识, 只有知道这些背景知识,我们才能更好的调整 sql语句 SQL语句处理的基本过程,主要包括: ◆查询语句处理 ◆ DML语句处理(insert, update, delete) ◆ DDL 语句处理(create .. , drop .. , alter .. , ) ◆事务控制(commit, rollback)◎Copyright new doone All right reserved
http://www.77cn.com.cn
优化原理
作为关系数据库管理系统,要解决的一个 重要问题就是如何提高查询的效率,即所谓 的查询优化。为什么会出现这个问题呢?我 们知道SQL语言是一种非过程化的语言,即 它只要用户指出“做什么”,而不需指出 “如何做”,这样对用户来说确实方便了, 但系统的负担就重了。系统要完成“如何 做”,就必然有个选择、比较、权衡的过程, 即如何选择最佳的存取途径和实现算法。◎Copyright new doone All right reserved
http://www.77cn.com.cn
什么是优化器查询优化对提高查询效率是至关重要的,在任何一 个商品化的RDBMS中,都必须有一个专门负责查询语 句优化的程序,称为优化器;是SQL之前分析语句的工 具。 优化器的优化方式: 基于规则(RBO): 优化器遵循Oracle内部预定的规则 基于代价(CBO): 依据语句执行的代价,主要指对CPU和内存的占用。 优化器在判断是否使用CBO时,要参照表和索引的统 计信息。统计信息要在对表做analyze后才会有。
◎Copyright new doone All right reserved
http://www.77cn.com.cn
优化器的优化模式Oracle优化器的优化模式主要有四种: Rule:基于规则; Choose:默认模式。根据表或索引的统计信息,如果 有统计信息,则使用CBO方式;如果没有统计信息, 相应列有索引,则使用RBO方式。 First rows:与Choose类似。不同的是如果表有统计信 息,它将以最快的方式返回查询的前几行,以获得最 佳响应时间。 All rows:即完全基于Cost的模式。当一个表有统计信 息时,以最快方式返回表所有行,以获得最大吞吐量。 没有统计信息则使用RBO方式。
◎Copyright new doone All right reserved
http://www.77cn.com.cn
优化模式的选择 指定优化模式(CBO/RBO) 优化模式为默认选择模式( Choose )情况下,怎么样才能知道SQL是基于代价 (CBO)查询,还是基于规则(RBO)查询。
COST无值说明使用基于规则(RBO)模式 COST有值说明使用基于代价(CBO)
模式
◎Copyright new doone All right reserved
http://www.77cn.com.cn
COST 说明什么 COST是什么? cost属性的值是一个在oracle内部用来比较各个执行计划所耗费(IO\CPU)的代价的 值,从而使优化器可以选择最好的执行计划。不同语句的cost值不具有可比性,只 能对同一个语句的不同执行计划的cost值进行比较,越小越好。
◎Copyright new doone All right reserved
http://www.77cn.com.cn
程序员的要求
ORACLE优化对程序员的要求: ORACLE系统中的优化器做的比较简 单,因此这就要求用户要有较强的优化意 识。程序员要想获得较优的查询性能,就 必须对表的大小、索引的选择率以及更新 和存取操作的频度等统计信息了如指掌。
◎Copyright new doone All right reserved
http://www.77cn.com.cn
优化原理 优化通常有两方面的内容,即逻辑优化和物理优化。 逻辑优化包括: 选择运算尽早执行 投影与选择运算同时进行,以避免重复扫描文件 公共子表达式预处理 谓词的简化处理 表达式的恒等变换等 逻辑优化往往是一种等价变换,它的优化会对查询带来 绝对好处,这部分优化与用户无关,完全由优化器负 责,故我们不关心这部分优化。
◎Copyright new doone All right reserved
http://www.77cn.com.cn
优化原理
物理优化包括: 选择有效的存取路径 选择合适的操作序列 提供较优的操作实现方法 物理优化则往往是对动态情况的一种权衡。物 理优化目前采用的方法有:启发式的、基于统 计信息的。智能式的ORACLE的优化器是启发 式的,它的核心是一些从经验中得到的准则, 它的好处是系统代价小,但不利的方面是用户 的负担太重。◎Copyright new doone All right reserved
http://www.77cn.com.cn
什么是索引 索引 使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列 或多列的值进行排序的一种结构,提供指向存储在表的指定列中的数据 值的指针,然后根据指定的排序顺序对这些指针排序。 索引列 可以基于数据库表中的单列或多列创建索引。多列索引可以区分其中一 列可能有相同值的行。 索引类型 A)唯一索引 唯一索引是不允许其中任何两行具有相同索引值的索引。 B)主键索引 在数据库中为表定义主键将自动创建主键索引,主键索引是唯一索引的 特定类型。该索引要求主键中的每个值都唯一。 C)聚散索引 在聚集索引中,表中行的物理顺序与键值的逻辑(索引)顺序相同。一 个表只能包含一个聚集索引。与非聚集索引相比,聚集索引通常提供更 快的数据访问速度。
◎Copyright n …… 此处隐藏:2351字,全部文档内容请下载后查看。喜欢就下载吧 ……
上一篇:云南旅游线路设计英文