- 浏览: 1521605 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (532)
- 软件设计师 (7)
- PSP (5)
- NET MD (9)
- Hibernate (8)
- DIY (51)
- Work (43)
- GAME (24)
- 未分类 (44)
- iPod (6)
- MySQL (39)
- JSP (7)
- 日语能力考试 (36)
- 小说 (4)
- 豆包网 (23)
- 家用电脑 (7)
- DB2 (36)
- C/C++ (18)
- baby (9)
- Linux (13)
- thinkpad (23)
- OA (1)
- UML (6)
- oracle (24)
- 系统集成 (27)
- 脑梗塞 (6)
- 车 (8)
- MainFrame (8)
- Windows 7 (13)
- 手机 (8)
- git (12)
- AHK (2)
- COBOL (2)
- Java (9)
最新评论
-
安静听歌:
... ...
UUID做主键,好还是不好?这是个问题。 -
lehehe:
http://www.haoservice.com/docs/ ...
天气预报 -
lehehe:
[url http://www.haoservice.com/ ...
天气预报 -
liubang201010:
监控TUXEDO 的软件推荐用这个,专业,权威.并能提供报警和 ...
(转载)Tuxedo中间件简介 -
tinkame:
Next[j] =-1 当j=0时;=Max{k|0<k ...
KMP字符串模式匹配详解
原文:http://space.itpub.net/22664653/viewspace-673997 SQL> select * from v$version; optimizer_features_enable(enable) --optimizer_mode ---optimizer_dynamic_sampling 动态采样 3 对符合层级2标准的表已及已经使用了评估条件选择性猜测的表使用动态采样 32 4 对符合层级3标准的表以及where子句中引用了两个或更多字段的表使用动态采样。 32 optimizer_index_cost_adj 和optimizer_index_caching一样,这个参数也是cbo用来计算cost的,这个参数可以用来调整使用索引的代价,默认值是100,范围是1-10000,它表示索引扫描和全表扫描的比值。例如设置为10,意味着使用通过索引路径访问是正常通过索引路径访问的10%(oracle 10g performace tuning guide),也即可以设置索引参与计算代价的不同值。
BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi
PL/SQL Release 10.2.0.4.0 - Production
CORE 10.2.0.4.0 Production
TNS for IBM/AIX RISC System/6000: Version 10.2.0.4.0 - Productio
NLSRTL Version 10.2.0.4.0 - Production
SQL>show parameter optimizer_
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
optimizer_dynamic_sampling integer 2
optimizer_features_enable string 10.2.0.4
optimizer_index_caching integer 0
optimizer_index_cost_adj integer 100
optimizer_mode string CHOOSE
optimizer_secure_view_merging boolean TRUE
SQL>
---optimizer_features_enable
如果在升级数据库后还想保持优化器在旧版本上的原有行为,可以设置optimizer_features_enable为旧版本号,不过建议尽快将应用程序调整为适合新版本数据库。可以看看这个参数的取值:
SQL> alter session set optimizer_features_enable ='ddd';
ERROR:
ORA-00096: invalid value ddd for parameter optimizer_features_enable, must be from among
10.2.0.4.1, 10.2.0.4, 10.2.0.3, 10.2.0.2, 10.2.0.1, 10.1.0.5, 10.1.0.4, 10.1.0.3, 10.1.0,
9.2.0.8, 9.2.0, 9.0.1, 9.0.0, 8.1.7, 8.1.6, 8.1.5, 8.1.4, 8.1.3, 8.1.0, 8.0.7, 8.0.6,
8.0.5, 8.0.4, 8.0.3, 8.0.0
optimizer_features_enable 是动态的,可以在系统级和语句级修改。也可以在语句级使用提示修改
optimizer_features_enable('10.2.0.5')
注意:optimizer_features_enable 不仅能禁用新版本的特性也能禁用bug 修复。
从这里的提示可以看出优化模式的选择值。
SQL> alter session set optimizer_mode ='dd';
ERROR:
ORA-00096: invalid value dd for parameter optimizer_mode, must be from among
first_rows_1000, first_rows_100, first_rows_10, first_rows_1, first_rows, all_rows,choose, rule
每个值的含义如下:
Rule:基于规则的方式,忽略CBO和统计数据并且完全基于基本数据字典信息生成执行计划。
Choose:允许ORACLE选择最合适的优化器目标,默认的情况下Oracle用的便是这种方式。指的是当一个表或或索引有统计信息,则走CBO的方式,如果表或索引没统计信息,那么ORACLE将使用RULE模式
First Rows:基于成本的优化器模式,当一个表有统计信息时,它将以最快的速度返回查询的最先几行,从总体上减少了响应时间,但是会造成总体查询速度的下降或者是消耗更多的资源,通常会选择索引扫描而不是全表扫描,所以这种模式最适用于在线系统,因为在这样的系统中终端用户希望以最快的速度看到一些结果
All Rows:基于成本的优化器模式,当一个表有统计信息时,它将确保总体查询时间最短,但是它可能在收到第一条记录的操作上花费更长的时间。这种模式通常选择全表扫描,所以这种模式最适用于批量查询,没有统计信息则走RULE模式。
一般来讲,
1 需要获取所有记录更重要,应该将参数设置为all_rows。比如报表系统和 OLAP,数据仓库系统和缓存数据的中间层组件中。
2 如果前几行更重要或者对响应时间的要求非常高的系统,使用first_rows_n这里的n可取(1,10,100,1000)。
optimizer_mode 是动态的,可以在系统级和语句级设置。也可以使用提示(all_rows,first_rows(n))在语句级更改。
优化器可以在语句解析阶段进行信息统计并动态收集。注意:动态信息统计信息既不存储在数据字典也不在其他地方,真正重用它们的是共享游标本身。该参数指定了动态采样的的方式和时间。
1 如果optimizer_features_enable设置为10.0.0或者以上,默认为2,
2 9.2.0则为1,
3 9.0.1或者以下则为0,即禁用了动态采样。
可以在系统级别和会话级别来修改这个参数。也可以通过提示dynamic_sampling()在语句级应用动态采样。
1 设置为所有表设置采样层级:dynamic_sampling(N)
2 为某个表指定采样层级:dynamic_sampling(TNAME N)
层级 含义 数据块的数量
0 禁止动态采样 0
1 对于没有对象统计信息的表在下面三种情况下使用动态采样。 32
1 表没有索引。2 是连接的一部分(包括子查询和不可合并视图)。3块数多于采样数。
2 对于没有对象统计信息的表使用动态采样。 64
5 同等级4 64
6 同等级4 128
7 同等级4 256
8 同等级4 1024
9 同等级4 4096
10 同等级4 所有
optimizer_index_caching
这个参数影响嵌套循环连接的探测索引的代价,0-100表示在使用嵌套循环或这in-list迭代时将索引缓存在buffer cache的百分比。例如,设置为100,则优化器认为100%能在内存中找到索引数据,会按照这个设定来计算cost和选择执行计划。
optimizer_secure_view_merging
这个参数控制视图合并,默认值是true,在不影响安全问题的情况下允许视图合并,如果设置为false,则在任何情况下允许视图合并。
发表评论
-
(转)【性能优化】ORACLE数据库性能优化概述
2010-10-28 10:37 1296原文:http://space.itpub.net ... -
(转)【sql调优】系统信息统计
2010-10-28 10:36 1134原文:http://space.itpub.net/?uid- ... -
(转)sqlplus中如何插入blob数据?
2010-09-01 09:39 1858http://www.itpub.net/viewthre ... -
(转)CSV文本数据如何导入oracle(实例)
2010-08-31 13:42 1697http://blog.csdn.net/senmon20 ... -
(转)一般导入数据到Oracle有几种方法!这可是经验之谈哦!
2010-08-31 13:40 2264http://hi.baidu.com/will0690/ ... -
(转)如何将TXT,EXCEL或CSV数据导入ORACLE到对应表中
2010-08-31 13:39 5608如何将TXT,EXCEL或CSV数据导入ORACL ... -
(转)oracle 查看数据库连接备忘
2010-08-19 15:28 1041http://yezi.iteye.com/blog/ ... -
(转)从问题入手帮你解决Oracle杀死死锁进程
2010-08-19 15:26 1573http://dev.firnow.com/cou ... -
(转)oracle临时表的用法总结
2010-07-22 09:20 1376http://blog.csdn.net/wyzxg/ar ... -
(转)Oracle 临时表的应用
2010-07-22 09:19 917http://hi.baidu.com/edeed/blo ... -
(转)VC下ADO访问远程ORACLE数据库
2010-07-13 15:39 4489http://blog.csdn.net/pku2009/ ... -
(转)Oracle版本区别
2010-03-29 14:23 1731http://blog.csdn.net/pengyouc ... -
(转)Oracle数据库11g版本介绍
2010-03-29 14:18 1305http://www.oracle.com/lang/cn ... -
Oracle平台应用数据库系统的设计与开发
2009-12-31 11:14 957http://tech.163.com/05/0607/1 ... -
oracle 购买方式
2009-12-16 16:38 5599http://blog.chinaunix.net/u ... -
Oracle标准版和企业版的区别
2009-12-16 16:36 4553http://blog.chinaunix.net/u ... -
oracle 报价
2009-12-16 16:35 2977http://www.rozsoft.com/html/fxc ... -
Oracle10g New Feature:闪回恢复区空间管理
2009-11-26 13:32 1622Oracle10g New Feature:闪回恢复区空间管理 ... -
Oracle数据库设计开发阶段性能优化策略
2009-11-25 15:16 1177http://flysen.cn/a/data/orle/ ... -
oracle database Documentation Library
2009-11-25 14:43 248910g Release 2 (10.2) ...
相关推荐
ORACLE SQL性能优化 通过init.ora文件中OPTIMIZER_MODE声明 RULE (基于规则) 所遵循的是Oracle内部预定的一些规则。比如当一个where子句中的一列有索引时去走索引。 COST (基于成本) 你必须经常运行analyze ...
设置缺省的优化器,可以通过对init.ora文件中OPTIMIZER_MODE参数的各种声明,如RULE,COST,CHOOSE,ALL_ROWS,FIRST_ROWS . 你当然也在SQL句级或是会话(session)级对其进行覆盖. 为了使用基于成本的优化器(CBO, Cost-...
并不需要SQL语句真正执行,是优化器估算的计算 来自数据库的统计信息,统计信息月准确,执行计划月精确 说明:网络经验:后者效率高于前者,但是以上两个查询语句的性能通过查询计划可以看出其实是一样的,后者...
工作当中总结出来优化方法,确实可以提高Oracle的性能,但是设置各参数的值需要根据服务器实际情况来做调整。
设置缺省的优化器,可以通过对init.ora文件中OPTIMIZER_MODE参数的各种声明,如RULE,COST,CHOOSE,ALL_ROWS,FIRST_ROWS . 你当然也在SQL句级或是会话(session)级对其进行覆盖. 为了使用基于成本的优化器(CBO, Cost-...
书名: SQLServer2008查询性能优化 作者: 弗里奇(Grant Fritchey) 出版社: 人民邮电出版社 出版日期: 2010年8月1日 ISBN: 9787115230294 编辑推荐 《SQL Server 2008查询性能优化》为你提供了处理查询性能所...
(1) 选择最有效率的表名顺序(只在基于规则的优化器中有效): ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在FROM子句中包含多个表的情况...
ORACLE的优化器共有3种: ... 设置缺省的优化器,可以通过对init.ora文件中OPTIMIZER_MODE参数的各种声明,如RULE,COST,CHOOSE,ALL_ROWS,FIRST_ROWS . 你当然也在SQL句级或是会话(session)级对其进行覆盖.
ORACLE的优化器共有3种: ...设置缺省的优化器,可以通过对init.ora文件中OPTIMIZER_MODE参数的各种声明,如RULE,COST,CHOOSE,ALL_ROWS,FIRST_ROWS . 你当然也在SQL句级或是会话(session)级对其进行覆盖.
正在看的ORACLE教程是:Oracle SQL性能优化系列学习一。1. 选用适合的ORACLE优化器 ORACLE的优化器共有3种: a. RULE (基于规则) b. COST (基于成本) c. CHOOSE (选择性) 设置缺省的优化器,可以通过对init...
书名: SQLServer2008查询性能优化 作者: 弗里奇(Grant Fritchey) 出版社: 人民邮电出版社 出版日期: 2010年8月1日 ISBN: 9787115230294 编辑推荐 《SQL Server 2008查询性能优化》为你提供了处理查询性能所...
3.数据库性能优化,数据库参数设置,查询,数据库连接字符串优化,SQL耗时优化,SQL格式化,SQL美化 4.服务器高并发性能优化( linux ,windows 服务器性能优化提升) 5.C#前端后端代码自动生成(netframework ,...
设置缺省的优化器,可以通过对init.ora文件中OPTIMIZER_MODE参数的各种声明,如RULE,COST,CHOOSE,ALL_ROWS,FIRST_ROWS 。 你当然也在SQL句级或是会话(session)级对其进行覆盖。 为了使用基于成本的优化器...
oracle一些基本的SQL优化,适合入门... 设置缺省的优化器,可以通过对init.ora文件中 OPTIMIZER_MODE参数的各种声明,如RULE,COST,CHOOSE,ALL_ROWS,FIRST_ROWS . 你当然也可在SQL句级或是会话(session)级对其进行覆盖
在编写SQL语句时我们应清楚优化器根据何种原则来删除索引,这有助于写出高性能的SQL语句。 二、SQL语句编写注意问题 下面就某些SQL语句的where子句编写中需要注意的问题作详细介绍。在这些where子句中,即使...
MySQL高级性能优化的关键点: 数据库设计和规范化:确保数据库表结构合理、字段类型正确,并进行适当的规范化,以减少数据冗余和提高查询效率。 索引优化:根据查询需求创建适当的索引,避免过多或不必要的索引,...
一、SGA 1、Shared pool tunning 2、Buffer Cache 3、其他SGA对象 1. 监控事例的等待 2. 回滚段的争用情况 12. 监控当前数据库谁在运行什么SQL语句
第15章 RAC稳定性与性能优化 15.1服务器硬件 15.1.1 Firmware固件升级 15.1.2硬件设备兼容性 15.1.3 FC HBA卡冗余 15.1.4 Infiniband技术 15.1.5 RAC硬件结构案例 15.2操作系统 15.2.1认证操作系统 15.2.2...