- 浏览: 1547562 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (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 1328原文:http://space.itpub.net ... -
(转)【sql调优】系统信息统计
2010-10-28 10:36 1180原文:http://space.itpub.net/?uid- ... -
(转)sqlplus中如何插入blob数据?
2010-09-01 09:39 1909http://www.itpub.net/viewthre ... -
(转)CSV文本数据如何导入oracle(实例)
2010-08-31 13:42 1738http://blog.csdn.net/senmon20 ... -
(转)一般导入数据到Oracle有几种方法!这可是经验之谈哦!
2010-08-31 13:40 2308http://hi.baidu.com/will0690/ ... -
(转)如何将TXT,EXCEL或CSV数据导入ORACLE到对应表中
2010-08-31 13:39 5652如何将TXT,EXCEL或CSV数据导入ORACL ... -
(转)oracle 查看数据库连接备忘
2010-08-19 15:28 1077http://yezi.iteye.com/blog/ ... -
(转)从问题入手帮你解决Oracle杀死死锁进程
2010-08-19 15:26 1627http://dev.firnow.com/cou ... -
(转)oracle临时表的用法总结
2010-07-22 09:20 1412http://blog.csdn.net/wyzxg/ar ... -
(转)Oracle 临时表的应用
2010-07-22 09:19 959http://hi.baidu.com/edeed/blo ... -
(转)VC下ADO访问远程ORACLE数据库
2010-07-13 15:39 4526http://blog.csdn.net/pku2009/ ... -
(转)Oracle版本区别
2010-03-29 14:23 1762http://blog.csdn.net/pengyouc ... -
(转)Oracle数据库11g版本介绍
2010-03-29 14:18 1356http://www.oracle.com/lang/cn ... -
Oracle平台应用数据库系统的设计与开发
2009-12-31 11:14 993http://tech.163.com/05/0607/1 ... -
oracle 购买方式
2009-12-16 16:38 5635http://blog.chinaunix.net/u ... -
Oracle标准版和企业版的区别
2009-12-16 16:36 4638http://blog.chinaunix.net/u ... -
oracle 报价
2009-12-16 16:35 3009http://www.rozsoft.com/html/fxc ... -
Oracle10g New Feature:闪回恢复区空间管理
2009-11-26 13:32 1665Oracle10g New Feature:闪回恢复区空间管理 ... -
Oracle数据库设计开发阶段性能优化策略
2009-11-25 15:16 1213http://flysen.cn/a/data/orle/ ... -
oracle database Documentation Library
2009-11-25 14:43 252510g Release 2 (10.2) ...
相关推荐
Oracle SQL性能优化是数据库开发人员必须掌握的关键技能,它涉及到SQL语句的编写、执行过程、优化器的选择以及执行计划的分析等多个方面。在Oracle数据库环境中,优化SQL性能对于提升系统整体响应时间、提高并发处理...
《Oracle SQL性能优化》这本书是数据库管理员和开发人员的重要参考资料,它深入探讨了如何提高Oracle数据库的SQL查询性能。在数据库系统中,SQL查询的速度直接影响到应用的响应时间和整体性能,因此,理解并掌握SQL...
从提供的文件内容来看,知识点主要围绕Oracle数据库的SQL性能优化进行展开。下面将详细说明标题和描述中提及的知识点: 1. SQL性能优化专题 - 这一部分是整个分享的主题,强调了性能优化在SQL编程中的重要性。性能...
本文将详细介绍MySQL性能优化的关键配置参数以及SQL优化的方法技巧。 #### 二、MySQL性能优化的核心参数 **1. Innodb Buffer Pool Instances** - **定义**: 表示InnoDB引擎中用于缓存表和索引数据的内存池的数量。...
Oracle SQL性能优化是数据库管理中的重要环节,旨在提高SQL查询的效率,减少资源消耗,提升系统整体性能。本文主要从三个方面介绍Oracle SQL性能优化的基本策略。 1. **选择合适的优化器** ORACLE提供了三种优化器...
Oracle SQL性能优化是数据库管理中的重要环节,...综上所述,Oracle SQL性能优化涉及优化器的选择、表的访问方式以及SQL语句的共享机制。理解这些概念并据此调整数据库配置和查询编写,对于提升数据库性能至关重要。
【SQL性能优化基础】 在Java或Oracle SQL性能优化中,首要任务是对SQL语句有深入的理解,以便在编程时能够写出高效运行的代码。优化基础知识包括性能管理、SQL优化机制和应用调整等。 1. **性能管理** - **尽早...
在SQL Server 2008查询性能优化的主题中,我们主要关注如何提高SQL查询的速度,减少资源消耗,以及提升数据库的整体效率。对于那些已经具备基本SQL语法知识,并期望提升其代码执行性能的开发者来说,这是一个至关...
在SQL Server性能优化的过程中,负载均衡是一个至关重要的概念,尤其对于处理大型数据库的场景。负载均衡旨在有效地分配系统资源,确保服务器性能的稳定性和高可用性,避免单一节点过载,提高整体系统的响应时间和...
在SQL Server数据库管理系统中,性能优化与管理是至关重要的任务,因为这直接影响到系统的响应速度、资源利用率以及整体系统的稳定性。"SQL Server性能优化及管理艺术"这一主题涵盖了多个方面,包括查询优化、索引...
设置缺省的优化器,可以通过对 init.ora 文件中 OPTIMIZER_MODE 参数的各种声明,例如 RULE、COST、CHOOSE、ALL_ROWS、FIRST_ROWS。为了使用基于成本的优化器(CBO),必须经常运行 analyze(分析)命令,以增加...
### Oracle SQL性能优化 在Oracle数据库管理中,SQL性能优化是一项至关重要的技能,它直接影响到系统的响应速度和整体性能。本文将围绕Oracle SQL性能优化的关键点进行深入探讨,旨在帮助数据库管理员和开发人员...
我们可以通过设置启动参数文件中的 OPTIMIZER_MODE 参数来选择优化器模式。 在 SQL 语句优化过程中,我们需要注意一些重要的注意事项。例如,我们需要检查执行计划,检查执行过程中优化器的统计信息,分析相关表的...
在Oracle 9i及之后的版本中,优化器模式可以通过初始化参数`optimizer_mode`进行设置。在实例级别,可以使用`optimizer_mode = {choose|rule|first_rows|first_rows_n|all_rows}`进行全局配置;在会话级别,可以使用...
SQL性能优化涉及多个层面,包括对SQL语句的理解、优化器的工作原理、执行计划的获取与分析,以及应用设计和数据库配置的调整。 首先,优化基础知识涵盖了性能管理的概念,强调了性能问题的识别、调整方法的选择以及...
总结来说,优化ORACLE SQL性能主要包括以下几个方面:选择COST优化器并保持统计信息的最新;根据查询需求选择合适的表访问方式,合理利用索引;充分利用共享SQL语句以减少解析时间;以及正确使用绑定变量来提高查询...
### SQL Server 的性能优化详解 #### 一、前言 SQL Server 是一款广泛使用的数据库管理系统,在企业级应用中扮演着重要角色。为了确保系统能够高效运行,SQL Server 的性能优化至关重要。性能优化主要包括两个方面...
在Oracle SQL性能优化过程中,选择合适的优化器至关重要。Oracle提供了三种类型的优化器:基于规则的优化器(Rule-based Optimizer, RBO),基于成本的优化器(Cost-based Optimizer, CBO),以及选择性优化器(Choose ...