数据库的优化培训(Oracle)

时间: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字,全部文档内容请下载后查看。喜欢就下载吧 ……

数据库的优化培训(Oracle).doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:4.9 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:19元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219