动态网站制作指南
[  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
电脑书籍下载:程序设计书籍 | 数据库教程书籍 | 平面与多媒体书籍 | 网络通讯书籍 | 系统管理书籍 | 网络安全书籍 | 认证考试书籍
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库学院 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Access教程,DB2教程,数据库安全,数据库文摘
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ Oracle教程 ]的信息

本月文章推荐
.ORACLE常用傻瓜问题1000问(之十二.
.如何快速查找文件.
.介绍几个基本的 SQLPLUS 命令.
.ORACLE在HP-UX下的系列问题处理(.
.复杂查询语句的使用.
.新型数据库体系结构-DAN.
.数据库开发:Oracle学习笔记.
.数据库恢复实例.
.移动数据库和J2ME工具构建应用程.
.PL/SQL在from后面使用变量,以及输.
.Ruby on Rails 连接 Oracle 数据.
.构建高性能Oracle运行系统的原则.
.一次恢复oracle的尝试.
.杜绝安全隐患 容易忽视的Oracle安.
.Linux的IP设置技巧.
.数据库设计中的反规范技术探讨.
.Oracle数据库字符集转换规律全面.
.Oracle的数据分片技术的详细解答.
.基于 Linux 和 MiniGUI 的嵌入式.
.Oracle数据库较好的十种重新启动.

Oracle Optimizer:迁移到使用基于成本的优化器-----系列1.1

文章类别:Oracle教程 | 发表日期:2008-2-9 |



  
Oracle Optimizer:迁移到使用基于成本的优化器-----系列1.1

      

假如在Oracle以前的版本(7.0或更早)中开发应用程序,数据库会采用基于规则的优化器(译者注:以下称RBO),本篇将帮助你理解Oracle优化器并迁移到基于成本优化器(译者注:以下称CBO)的几种高效方法.下面是五大部分的第一部分

 

第一部分

1.         什么是优化器?

2.         为什么要优化?

3.         可用的优化器.

4.         为什么要移除RBO?

5.         为什么要迁移到CBO?

 

第二部分

1.         影响CBO的初始化参数.

2.         影响CBO的Oracle内部参数.

 

第三部分

1.         升级至CBO的设置变化.

2.         生成统计资料

3.         DML监视

 

第四部分

1.         提示.

2.         存储概要

3.         SYS模式的统计资料

 

第五部分

1.         新的权限

2.         怎样在CBO中分析执行计划

3.         Oracle Application 11i的CBO具体信息

4.         结论

 

1.         什么是优化器?

在Oracle中,执行一个查询可能有不只一种方法,拥有最佳等级的执行计划,或者说是最快速度最少成本返回输出并达到最佳资源利用的执行计划.优化器生成执行计划。优化器是运行在数据库中致力以得到基于不同条件下执行路径列表的引擎并且选择运行查询的最高效执行计划。一旦执行计划生成,它将执行输出。在Oracle中优化器与DML语句有关.

 

2.         为什么要优化?

你知道!优化一个针对执行时以最少时间和最佳的资源利用的查询,意味着快速和高效。对于资源,意味着CPU利用情况,磁盘输入输出,内存消耗和其它范围的网络操作。不考虑你的服务器在这些资源上是多么充足,不适当或较不理想的的查询总是付出昂贵的代价并拖慢你的任务,或者对服务器上的其它处理产生影响.依靠于各种因素的查询范围是昂贵的,包括抽取的结果集大小,扫描检索结果集的数据的大小和系统的即时负荷。适当的语法优化将节省用户运行时间的消耗和不必要的资源利用。

 

3.         可用的优化器

Oracle有两种模式的优化器,基于规则和基于成本,它决定了最佳的执行计划。

本篇重点介绍CBO,简要概述RBO.

 

3.1          基于规则的优化(RBO)

RBO遵循简单的分级方法学。
RBO使用15种级别要点,当接收到查询,优化器将评估使用到的要点数目,然后选择最佳级别(最少的数量)的执行路径来运行查询,15个要点级别如下:

                                       

                  .使用ROWID的单独记录

                  .使用簇连接的单独记录.

                  .使用散列簇主键的单独记录.

                  .使用主键的单独记录.

                  .簇连接.

                  .散列簇连接

                  .索引簇主键.

                  .复合主键.

                  .单列主键.

                  .索引列的结合范围查找.

                  .索引列的非结合范围查找.

                  .排序合并连接.

                  .索引列的最大max或min

                  .索引列的order by.

                                 .全表扫描.

        举例来说,假如生成一个在where子句条件中精确匹配两列的表的查询,一列拥有主键(对应于使用主键的单独记录.)而别一列拥有非主键(对应于单列主键),则RBO更喜欢主键(对应于使用主键的单独记录.),而不是非主键(对应于单列主键).

当在一个查询中涉及到要访问多个表,优化器需要确定那个表是驱动表.RBO生成一组连接顺序,每一个表做为第一个表,然后优化器从执行计划的结果集中选择最理想的计划.优化器评估不同条件诸如(最少的嵌套循环,最少的排序合并连接,最佳级别的表访问路径,等等),假如仍然不能比较出结果,则优化器会选择查询的FROM子句第一个表作为驱动表.因此,常规条件下的编码实践将把驱动表放在最右边.其它的表按访问顺序跟随在FROM子句中. 也就是说,表的顺序是从右到左的访问顺序。

请注重,用以搜索列的操作符也扮演着决定级别的角色,有时甚至考虑索引的时间作为级别

例如下面的表证实了在列1和列2上的索引使用情况,假如它们两个在where子句上用”=”连接

例:

select * from am79 where col1 = 1 and col2 = 'amar';

      -- here both col1 and col2 are indexed.

 

-------------------------------------------------------------------------------------

              Normal index types                        Index used in RBO

column1(a)     column2(b)    column1+column2(c)       

  -------------------------------------------------------------------------------------

non-unique        non-unique             c

non-unique       non-unique                             a + b

non-unique       non-unique      non-unique             c

unique           non-unique                             a

unique                           non-unique             a

unique           unique                                 b (the most recent index created)

unique           unique          unique                 c

-------------------------------------------------------------------------------------

-The above is tested on Oracle 8.1.7.1.

-In case of non-unique single column indexes, both indexes are used.

-In case of unique indexes, they are not combined for execution plan, any one is taken.

-Preference is given to the index available with the "=" operator column, than with

others operators.

-Don't create bitmap & function-based indexes, these will not work in RBO.

-------------------------------------------------------------------------------------

 

RBO偏好Oracle早期版本的大多数设置作为执行计划路径,这种选择是统一的。
查询总会产生同样的方法对于运行在不同数据库上相同的应用程序(待续).

 

上一篇:Oracle Optimizer:迁移到使用基于成本的优化器-----系列1.2 人气:330
下一篇:Oracle’s DBMS_Profiler:PL/SQL 性能调整 人气:266
点击此处浏览全部Oracle教程的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-5-16 乘风多用户PHP统计系统 v3.4
2008-5-16 轩溪下载系统 v3.78 build 0515
2008-5-16 普沙B2B 浙江省商贸网 v2.0
2008-5-16 asp抓蜘蛛的小程序 v1.0
2008-5-16 齐齐乐网私服发布站 仿haosf新版
2008-5-16 IssTech信息反馈系统 v1.0
2008-5-16 自由领域大头贴(js接口版) 修正版
2008-5-16 医院网站系统
2008-5-16 智拓-分类信息管理系统 v5.0
2008-5-7 Windows XP SP3 官方英文版
2008-5-7 Windows XP SP3 官方香港中文版
2008-5-7 Windows XP SP3 官方繁体中文版
2008-5-7 Windows XP SP3 官方简体中文版
2008-4-30 Multiple Unzip Wizard 1.02
2008-4-30 Multiple Unrar Wizard 1.0.0
2008-4-30 WinZip Install/Try/Uninstall a
2008-4-30 ZIP压缩文件修复器WzipFix 2.0
2008-4-30 Pentazip 6.01 Build 189 For Wi
  发表评论
姓 名: 验证码: [ 全部贴吧 ] [ 浏览评论 ]
内 容:
[ 汉字翻译拼音 ] [ 广告代码 ] [ 符号对照表 ] [ 进制转换 ] [ 经典小工具 ] [ 个税计算 ] [ 汉字简繁转换 ] [ 普通单位换算 ] [ 公制单位换算 ]
[ 生辰老黄历 ] [ 国内电话区号 ] [ 国家代码与域名缩写 ] [ 文字加密解密 ] [ 健康查询 ] [ 万年历 ] [ 手机号码查询 ] [ ip搜索 ] [ Google PR查询 ]
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号
ホームページ制作 不動産検索システム 求人情報