[澳洲房价增幅明显,黄金海岸甲骨文Oracle公寓让你独享绝世好景]这个冬天,可以去澳洲黄金海岸感受不一样的节日气氛?黄金海岸位于澳大利亚的东部海岸,由10多个连续排列的沙滩组成,这里气候宜人,日照充沛,阳光给沙滩染上了一层美丽的金色,令人赞叹...+阅读
Oracle 9与之前的Oracle 7和8中CPU_COSTING有什么变化?
Oracle 9 引入了一套更精细和全面的代价机制。这是对Oracle 7/8版的重大改进,但我认为这一改变类似从基于规则转变至基于代价。如果你不理解它是如何运作的,你会看到奇怪的事件。
你可以用dbms_stats包收集一段适当的时间内的系统统计,以此来激活CPU_COSTING。
假定的CPU速度(MHz)
单块读时间(ms)
多块读时间(ms)
一般达到的多块读
这些数字可产生三个主要效用:
Oracle并不假定单块读与多块读一样昂贵,它知道相对速度。这大致与根据数据库文件xxxx读取的平均等待时间设置参数optimizer_index_cost_adj相同——由于Oracle现在认为表扫描比原先理解更昂贵,这将鼓励Oracle使用索引访问路径而不是表扫描。
其次,Oracle将使用“达到的”(achieved)平均多块读取数来计算扫描一张表所需的读请求数,而不是使用一个db_file_multiblock_read_count的调整值。由于很多人使用的db_file_multiblock_read_count值并不合适,这样就造成Oracle可能增加表扫描(和索引快速全扫描)的代价,并由此减少表扫描(和索引快速全扫描)的可能性。注意——记录的值是用于计算的,当真正进行扫描时,Oracle会尝试使用init.ora中的值。
最后,Oracle知道(例如)to_char(日期列)=字符值的CPU代价比数字列=数值要打,所以Oracle可能修改索引的选择,若使用一个有更小选择性的索引的连续读代价(consequential cost)低于CPU的使用代价,则会选择这一索引。(另外,Oracle将重新安排非访问(non-access)的谓词顺序来减小CPU代价,但在多数情况下不会察觉性能的差异。)
总之——这肯定是一个好事。事实上,你可以发现对索引访问路径更强的偏好,这将影响性能。
以下为关联文档:
Oracle数据库中有关CBO优化的三个问题一.如何使用CostBased优化器优化查询操作?Oracle 提供了基于成本(CostBased)和基于规则(RuleBased)两种优化器,简称为CBO和RBO,用于确定查询操作的执行计划。CostBased优化器将计...
SQL2005的SSIS与Oracle的迁移性能项目中存在一部分数据迁移的工作,说白了就是从老的系统中将数据倒换的新的系统模型中,老系统的数据来源比较复杂多样,新的自然是Oracle9.2。本来这也就是一次性工作,用SQL自然...
SQLServer与Oracle、DB2三种数据库比较开发数据库应用,选择一个好的数据库是非常重要的。本文从一些方面比较了SQL Server与Oracle、DB2三种数据库,为你选择数据库提供一些参考。开放性SQL Server只能在Windows...
SQLServer2005与Oracle10g转换方法总结此次需要完成的目标是将库从SQLServer 2005完整的移植到Oracle10g中,包括表结构、数据、视图、函数以及存储过程的移植,移植主要基于Oracle的OMWB(Oracle Migration Workbench)...
从Oracle到SQLServer的透明网关配置racle 9.2.0.1.0 ip:192.168.1.22 port:1521sql2000 ip:192.168.1.12 db: db1说明,透明网关可以跟oracle,sql server2000数据库在同一台机器或者不同机器,本例是跟oracle是同...
Oracle数据库中使用超过2G的内存服务器:HPDL580G2(双CPU 6G内存)WIN2003 Enterprise Edition+ORACLE 9I 2.0.3.0 1、 首先,在boot.int中加入启动参数3G和PAE multi(0)disk(0)rdisk(0)partition(1)\WINNT="Micros...
Oracle数据库PLSQL编码规则总结我从1990年就开始编写PL/SQL代码。这意味着我已经编写了几万行的软件代码,但我确信,其中的绝大多数代码都非常拙劣,而且难以维护。 幸运地是,我发现找到并遵循编写出更好代码的...