您好!欢迎访问网站!
全国咨询热线:
热门关键词:
优化心得
您的位置: 首页 >> 优化心得 >> 正文内容

下载网络加速工具攻略:挑选合适的Oracle数据库优化器技巧

作者:Zbk7655 浏览量:15 时间:2025-05-09 01:19:23

如何挑选Oracle优化器

挑选合适的Oracle优化器

Oracle优化器种类繁多:

a 规则型(RULE) b 成本型(COST) c 选择型(CHOOSE)

可通过调整init ora文件中的OPTIMIZER_MODE参数来设置默认优化器,例如:RULE、COST、CHOOSE、ALL_ROWS、FIRST_ROWS等,你当然也可以在SQL语句级或会话(session)级对其进行覆盖。

若想使用基于成本的优化器(CBO Cost Based Optimizer),你必须定期运行*** yze命令来提高数据库中对象统计信息(object statistics)的精确度。

若数据库的优化器模式设置为选择型(CHOOSE),则实际优化器模式将取决于是否运行过 yze命令。如果table已被 yze过,优化器模式将自动切换为CBO;反之,数据库将采用规则型(RULE)的优化器。

默认情况下,Oracle采用选择型(CHOOSE)优化器。为了避免不必要的全表扫描(full table scan),你应尽量避免使用选择型优化器,而直接采用规则型或成本型优化器。

访问Table的方式

Oracle采用两种访问表中记录的方式:

a 全表扫描:

全表扫描即顺序访问表中每条记录。Oracle通过一次读入多个数据块(database block)来优化全表扫描。

b 通过ROWID访问表:

你可以采用基于ROWID的访问方式来提高访问表的效率。ROWID包含表中记录的物理位置信息。Oracle通过索引(INDEX)实现数据和存放数据的物理位置(ROWID)之间的联系。通常,索引提供了快速访问ROWID的方法,因此基于索引列的查询可以得到性能上的提升。

共享SQL语句

为了防止重复解析相同的SQL语句,Oracle在第一次解析后将SQL语句存储在内存中。这块位于系统全局区域(SGA system global area)的共享池(shared buffer pool)中的内存可以被所有数据库用户共享。因此,当你执行一个SQL语句(有时被称为一个游标)时,如果它与之前执行过的语句完全相同,Oracle就能快速获取已被解析的语句及最佳执行路径。Oracle的这个功能大大提高了SQL的执行性能并节省了内存使用。

遗憾的是,Oracle仅对简单表提供高速缓冲(cache buffering)功能,该功能不适用于多表连接查询。

数据库管理员必须在init ora中为这个区域设置合适的参数。当这个内存区域越大,可以保留更多的语句,共享的可能性也就越大。

当你向Oracle提交一个SQL语句时,Oracle会首先在这块内存中查找相同的语句。

需要注意的是,Oracle对两者采取的是严格匹配。要实现共享SQL语句,必须完全相同(包括空格、换行等)。

共享的语句必须满足以下三个条件:

A 字符级的比较:

当前被执行的语句和共享池中的语句必须完全相同。

例如:

SELECT*FROMEMP;

与以下任何一个都不同:

SELECTfromEMP; SelectFromEmp; SELECT*FROMEMP;

B 两个语句所指的对象必须完全相同:

例如:

用户对象名如何访问

Jacksal_limitprivatesynonym Work_citypublicsynonym Plant_detailpublicsynonym Jillsal_limitprivatesynonym Work_citypublicsynonym Plant_detailtableowner

考虑以下SQL语句能否在这两个用户之间共享:

C 两个SQL语句中必须使用相同的名字的绑定变量(bind variables)

例如:

第一组的两个SQL语句是相同的(可以共享)而第二组中的两个语句是不同的(即使在运行时赋予不同的绑定变量相同的值)

a

selectpin namefrompeoplewherepin=:blk pin; selectpin namefrompeoplewherepin=:blk pin;

b

lishixinzhi/Article/program/Oracle/201311/17116

处理器计划调整以优化性能选哪个

选择“高性能”选项卡。

处理器计划调整以优化性能,选择“高性能”选项卡。右键点击任务栏中的电池图标,选择“电源选项”,再选择“创建电源计划”选项,选择“高性能”选项卡,设置电源计划的名称和电池续航时间,在“高级设置”选项卡中,可以选择处理器的运行模式和电压。选择“最大处理器性能”选项,让处理器以最高频率运行,以达到最优性能表现。最后单击“确定”按钮,保存电源计划设置。