网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
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,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
本月文章推荐
.oracle执行计划刨析.
.按照顺序或依赖关系重新编译失效.
.如何增加Oracle连接数.
.Oracle网格计算中文资料—数据库.
.Oracle中的汉字显示.
.数据库设计中的反规范技术探讨.
.从oracle 数据库读取日期时间,并.
.Linux问与答(2):KDE问题.
.将Oracle内置的安全特性用于PHP.
.关于Oracle的面试问题与回答-技.
.eval用法三例.
.实现Oracle数据库复制.
.完整的oracle rman备份恢复的例子.
.更改数据库SID.
.Oracle SQL的优化(1).
.ORACLE常用傻瓜问题1000问全集(.
.找出最耗资源的sql.
.Oracle LogMiner终结版(zt).
.Linux目录结构简析.
.Oracle并行服务器(OPS)经典FAQ.

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

发表日期:2008-2-9



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

 

3.2.3     可用CBO模式

CBO有两种运行模式:ALL_ROWS和FIRST_ROWS.

FIRST_ROWS的目标是尽可能最快的返回行.这种模式告诉优化器响应时间是最重要的。它偏好嵌套连接方式. FIRST_ROWS也以考虑成本为主要规则来处理行.通常规则是使用索引的计划而不是使用全表扫描的计划作为访问路径,ORDER BY子句导致索引访问,等等

从9i版本起,在First提示中行的数量可以在参数中设置,FRIST_ROWS_N(N可以是1,10,100 或者1000),随不同应用程序的需求而设置

ALL_ROWS在返回输出结果以前,对给定的查询处理所有的行。它迫使优化器考虑最少的资源占用和最佳的吞吐量. ALL_ROWS更喜欢排序合并操作

对于一个OLTP系统, FIRST_ROWS对于快速响应时间是一个理想的选项.

对于批处理方向的应用程序意味着使用ALL_ROWS.注重,以最快响应时间的返回第N行的计划可能不是一个理想的计划,假如系统需求获得完整的结果.因此应根据应用程序的需要而决定.

当数据库大小变化时CBO动态调整它的执行路径,因此假如对于同一个应用程序同样的查询,一个数据库设置中运行很好而在另外的数据库中运行不良,你不必要理会.假如在两个数据库中设置和统计资料不同,这个将会发生..为了防止出现这种情况.得考虑使用优化器持久性.稍后章节将会提到.

 

3.2.3     CBO基初术语

当CBO分析语句时,下列术语将会频繁使用

 

Cost(成本)

在CBO中,成本的计算是涉及到每一个操作单位。逻辑上花费多少成本实际上并没有文档化或向外界公布,甚至随版本的不同而发生变化.

 

Cardinality(基数)

索引中单一行的数量和表中行的数量.查询基数是希望返回行的数量.

 

Selectivity(选择性)

  单一值的数量,被索引列的单一值视为选择性.举例来说,假如一个表有10000行,已创建的一个索引在一个列中有4000单一值,那么索引的可选择性为4000/10000*100=40%,在不为空的列上唯一索引的可选择性为100%.

 

Transitivity(传递性)

对于查询,CBO生成额外谓词的处理.它使优化器能考虑额外的执行路径。举例来说,假如在查询中提供了A=B AND B=C的谓词,优化器可能会添加额外的谓词来暗示A=C.

 

Statistics(统计资料)

对于各种不同的数据收集许多必须的信息以支持对象..对于CBO执行计划来说,它是至关重要的。

 

 

Join Methods(连接方法)

Oracle用诸如哈希,合并排序和嵌套连接进行连接.一个查询可能运行的更快相比较其它的其它方法。对于单个的查询应该评估连接方法。

 

FTS(全表扫描)

全表扫描涉及到查询,从第一块到最后分配的块扫描。对于大表是极其昂贵的,应该避免。

 

Index scan(索引扫描)

涉及到通过使用表上一个或更多的索引,一个表上的随机访问.
上一篇:Installing Oracle 9iR2 on RHEL AS 3 Step-by-Step 人气:513
下一篇:Oracle 10G的Data Pump (Part I) 人气:659
浏览全部Oracle教程的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐