- 浏览: 1197953 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (361)
- java综合 (33)
- 项目管理 (10)
- 工作流 (6)
- spring (11)
- hibenate (17)
- struts (0)
- javascript,html,css,ajax,jquery (11)
- IDE (9)
- 生活 (0)
- 工作 (0)
- 杂记 (1)
- 数据库 (96)
- 服务器 (5)
- 可视编辑 (0)
- freemarker (6)
- 操作系统 windows (13)
- web页面 (6)
- jms (15)
- 调优 (4)
- 测试和bug管理 (2)
- 原理 (1)
- 項目-atf (17)
- 安全 (3)
- xml (4)
- 操作系统 liunx (21)
- 网络 (22)
- office (11)
- 设计 (2)
- 软件 (1)
- 数据库 mysql (6)
- 胖客户端-flex (1)
- 正则 (9)
- oracle- liunx (3)
- sql2000 (2)
- 模式 (1)
- 虚拟机 (2)
- jstl (2)
- 版本控制 打包工具 (0)
- AOP (1)
- demo (1)
- 小软件 (2)
- 感恩 (1)
- iphone 4 (1)
- 反欺诈业务经验整理 (0)
最新评论
-
sea0108:
mark
java内存模型 -
XingShiYiShi:
方便把:testPNR();具体实现发出来吗?谢谢
用正则表达式解析 航信的电子客票和pnr报文 -
wh359126613:
如果js和webservice不在同一个服务器上,有跨域问题如 ...
使用javascript调用webservice示例 -
雨飛雁舞:
...
oracle 动态性能(V$)视图 -
ouyang1224:
好东西
oracle 动态性能(V$)视图
1.选用适合的ORACLE优化器
中国网管联盟www.bitscn.com
ORACLE的优化器共有3种:
1.RULE(基于规则) 2.COST(基于成本) 3.CHOOSE(选择性) feedom.net
设置缺省的优化器,可以通过对init.ora文件中OPTIMIZER_MODE参数的各种声明,如RULE,COST,CHOOSE,ALL_ROWS,FIRST_ROWS . 你当然也在SQL句级或是会话(session)级对其进行覆盖。
为了使用基于成本的优化器(CBO, Cost-Based Optimizer) , 你必须经常运行analyze 命令,以增加数据库中的对象统计信息(object statistics)的准确性。
网管网bitsCN.com
如果数据库的优化器模式设置为选择性(CHOOSE),那么实际的优化器模式将和是否运行过analyze命令有关。 如果table已经被analyze过, 优化器模式将自动成为CBO , 反之,数据库将采用RULE形式的优化器。 feedom.net
在缺省情况下,ORACLE采用CHOOSE优化器, 为了避免那些不必要的全表扫描(full table scan) , 你必须尽量避免使用CHOOSE优化器,而直接采用基于规则或者基于成本的优化器。
feedom.net
2.访问Table的方式
ORACLE 采用两种访问表中记录的方式: 中国网管联盟www_bitscn_com
1.全表扫描 中国网管联盟www_bitscn_com
全表扫描就是顺序地访问表中每条记录。 ORACLE采用一次读入多个数据块(database block)的方式优化全表扫描。 网管网bitsCN_com
2.通过ROWID访问表 中国网管论坛bbs.bitsCN.com
你可以采用基于ROWID的访问方式情况,提高访问表的效率, , ROWID包含了表中记录的物理位置信息……ORACLE采用索引(INDEX)实现了数据和存放数据的物理位置(ROWID)之间的联系。 通常索引提供了快速访问ROWID的方法,因此那些基于索引列的查询就可以得到性能上的提高。
3.共享SQL语句 中国网管联盟www、bitsCN、com
为了不重复解析相同的SQL语句,在第一次解析之后, ORACLE将SQL语句存放在内存中。这块位于系统全局区域SGA(system global area)的共享池(shared buffer pool)中的内存可以被所有的数据库用户共享。 因此,当你执行一个SQL语句(有时被称为一个游标)时,如果它和之前的执行过的语句完全相同, ORACLE就能很快获得已经被解析的语句以及最好的执行路径。 ORACLE的这个功能大大地提高了SQL的执行性能并节省了内存的使用。 网管网bitsCN_com
可惜的是ORACLE只对简单的表提供高速缓冲(cache buffering) ,这个功能并不适用于多表连接查询。 54com.cn
数据库管理员必须在init.ora中为这个区域设置合适的参数,当这个内存区域越大,就可以保留更多的语句,当然被共享的可能性也就越大了。
feedom.net
当你向ORACLE 提交一个SQL语句,ORACLE会首先在这块内存中查找相同的语句。
这里需要注明的是,ORACLE对两者采取的是一种严格匹配,要达成共享,SQL语句必须完全相同(包括空格,换行等)。 中国网管论坛bbs.bitsCN.com
共享的语句必须满足三个条件: 54com.cn
A.字符级的比较: 网管网bitsCN_com
当前被执行的语句和共享池中的语句必须完全相同。 例如: 中国网管论坛bbs.bitsCN.com
SELECT * FROM EMP;
中国网管联盟www_bitscn_com
和下列每一个都不同
中国网管联盟www.bitscn.com
SELECT * from EMP; 54com.cn
Select * From Emp;
54ne.com
SELECT * FROM EMP; 54com.cn
B.两个语句所指的对象必须完全相同,例如: 中国网管论坛bbs.bitsCN.com
用户 | 对象名 | 如何访问 |
Jack | sal_limit | private synonym |
Work_city | public synonym | |
Plant_detail | public synonym | |
Jill | sal_limit | private synonym |
Work_city | public synonym | |
Plant_detail | table owner |
考虑一下下列SQL语句能否在这两个用户之间共享。
SQL | 能否共享 | 原因 |
select max(sal_cap) from sal_limit; | 不能 | 每个用户都有一个private synonym - sal_limit , 它们是不同的对象 |
select count(*0 from work_city where sdesc like 'NEW%'; | 能 | 两个用户访问相同的对象public synonym - work_city |
select a.sdesc,b.location from work_city a , plant_detail b where a.city_id = b.city_id | 不能 | 用户jack 通过private synonym访问plant_detail 而jill 是表的所有者,对象不同 |
C.两个SQL语句中必须使用相同的名字的绑定变量(bind variables) ,例如:
第一组的两个SQL语句是相同的(可以共享),而第二组中的两个语句是不同的(即使在运行时,赋于不同的绑定变量相同的值) feedom.net
a.
select pin , name from people where pin = :blk1.pin; feedom.net
select pin , name from people where pin = :blk1.pin; 54ne.com
b.
中国网管论坛bbs.bitsCN.com
select pin , name from people where pin = :blk1.ot_ind; 网管网bitsCN.com
select pin , name from people where pin = :blk1.ov_ind; 中国网管联盟www_bitscn_com
发表评论
-
并发行级锁超2秒报警监控sql
2010-07-20 16:18 1939并发行级锁超2秒报警监控sql -
数据设计规范v
2010-06-22 19:47 0数据设计规范v -
Oracle 有趣排序包括那些
2010-06-20 16:51 1452按拼音排序 select * from table ... -
Oracle sql 性能优化调整
2010-06-20 16:15 1395Oracle sql ... -
Delete、Drop、Truncate的比较(转)
2010-05-31 13:39 1475Delete、Drop、Truncate的比较 关键字: d ... -
Oracle误操作解决方案(转)
2010-05-31 13:35 1392Oracle误操作解决方案 文章分类:数据库 一.误删除数 ... -
一个递归调用的存储过程
2010-04-19 01:51 1848一个递归调用的存储过程 -
oracle index学习总结
2009-12-08 10:44 19629oracle index 1.index需要储存空间 ... -
Jdbc 和hibernate
2009-11-16 23:38 1876Jdbc 和hibernate 一、Jdbc是java ... -
去掉 powerDesigner 中表设计时的 name和code联动的功能
2009-11-16 17:04 3485去掉 powerDesigner 中表设计时的 name和co ... -
oracle数据库索引未被使用的问题及其解决2007
2009-11-15 01:42 2132一次,在进行WEB页面上进行历史数据文件检查时,发现数据库访问 ... -
RMAN配置及备份与恢复练习
2009-09-27 18:06 16261.创建表空间SQL>create tablespace ... -
误删除数据后怎么立即恢复(不考虑全库备份和利用归档日志)
2009-09-27 18:01 3385要达到删除数据,有以下几种方式都可以:1、delete2、dr ... -
IMP数据到指定的表空间
2009-09-27 12:47 9105IMP数据到指定的表空间 一直以来,我都认为只要指定用户的默 ... -
ORACLE UPDATE 语句语法与性能分析
2009-09-27 09:49 1880为了方便起见,建立了以下简单模型,和构造了部分测试数据: 在 ... -
oracle job 例子
2009-09-22 12:38 3064一、设置初始化参 ... -
oracle 时间加减综合
2009-09-17 11:43 1981加法 select sysdate,add_mon ... -
详细介绍ORACLE sqlplus命令
2009-09-09 16:42 2062一、ORACLE的启动和关闭1、在单机环境下要想启动或关闭OR ... -
AWR介绍与SYSAUX空间关系 SYASAUX表空间满了 系统慢
2009-09-08 09:45 7958AWR介绍与SYSAUX空间关系 2007-11-05 14 ... -
to_char 'NLS_DATE_LANGUAG参数
2009-09-02 18:41 1481select to_char(sysdate, 'Day'), ...
相关推荐
《数据库性能调优——原理与技术2》这本书专注于Oracle数据库的性能优化,通过深入探讨其内部机制和技术细节,为读者提供了实用的优化策略和最佳实践。 **数据库性能调优的目的**主要包括: - 提高查询响应速度,...
Oracle性能优化是一个涵盖广泛且至关重要的主题,对于数据库的高效运行和企业级应用的性能提升起着决定性作用。本文将深入探讨Oracle性能优化的两个关键方面:SGA(System Global Area)的Shared Pool优化和Buffer ...
《Oracle性能优化绝版好书:高级OWI与ORACLE性能调整》这本书深入探讨了Oracle数据库性能优化的关键技术和策略,特别关注了Oracle Wait Interface (OWI)和性能调整的实践应用。OWI是Oracle数据库中用于监控和诊断...
《Oracle性能优化求生指南》不仅涵盖了Oracle数据库性能优化的基本理论知识,还包含了大量实用技巧和真实世界中的案例研究。无论你是刚接触Oracle的新手还是经验丰富的专业人士,都能从中获益良多。通过学习本书提供...
了解和利用这些工具,可以帮助数据库管理员更加高效地进行SQL性能调优。 最后,还应当注意Oracle的资源管理机制。Oracle提供了多种资源管理工具,比如资源管理器(Resource Manager)和数据库控制(Database ...
本章节主要围绕SQL性能优化这一主题进行展开,详细介绍了多种提升SQL查询效率的方法。在数据库应用中,SQL查询的性能直接影响到系统的响应速度及资源利用率,因此掌握有效的SQL调优技巧对于提高整体系统性能至关重要...
"Oracle性能调优向导"这本书旨在为读者提供全面而实用的Oracle性能优化策略和技巧。 一、Oracle性能优化基础 Oracle性能优化的基本原则包括:最小化磁盘I/O、合理分配系统资源、优化SQL查询和索引策略。这需要我们...
### Oracle官方MySQL性能调优优化文档 #### 一、引言 在当今数据密集型的应用环境中,数据库性能的优化显得尤为重要。Oracle作为全球领先的企业级软件供应商,为MySQL提供了详尽的性能调优指南。本篇文章将根据提供...
《基本成本的Oracle优化法则》是一本专注于Oracle数据库性能调优的专业书籍,它提供了一系列的脚本工具,帮助读者深入理解和应用Oracle的性能优化技术。Oracle数据库是全球广泛使用的数据库管理系统,尤其在企业级...
4. **SQL优化技巧** - **使用EXPLAIN PLAN分析执行计划**:理解执行计划的各个部分,如访问方法、连接类型、排序操作等。 - **使用绑定变量**:避免全表扫描和提高查询效率。 - **避免不必要的排序和临时表**:...
《Oracle性能优化技术内幕》是一本深入探讨Oracle数据库性能调优的专业书籍,旨在帮助数据库管理员、开发人员以及系统架构师理解和解决Oracle数据库在运行过程中可能出现的性能问题。这本书全面覆盖了Oracle性能优化...
该考试覆盖了从早期版本(如11g)到12c的所有关键迁移步骤和技术要点,包括对新特性的理解和应用、数据迁移策略、性能调优技巧以及故障排除方法等。 #### 考试目标与内容 1. **理解Oracle 12c的新特性**:考生需要...
Oracle数据库调优是确保系统高效运行的关键步骤,它涉及到数据库性能优化、SQL查询优化、内存管理、I/O优化等多个方面。本压缩包“oracle调优工具.rar”提供了一系列的资源,帮助用户理解和实践Oracle数据库调优。 ...
### Oracle性能优化内幕 在IT领域,特别是对于那些依赖于Oracle数据库进行数据管理和处理的企业而言,性能优化是一项至关重要的工作。本文将深入探讨Oracle数据库性能优化的关键知识点,并结合实际应用场景,帮助...
9. **性能调优**:根据实际的硬件配置和应用需求,进行性能调优,包括内存分配、I/O子系统优化、SQL查询优化等。 10. **备份与维护**:定期进行数据库备份,确保数据的安全。同时,需要监控数据库的运行状态,及时...
Oracle数据库性能调整与SQL性能优化是数据库管理员和开发人员日常工作中不可或缺的部分。Oracle数据库系统以其高效、稳定和可扩展性闻名,但同时也需要通过精心的调整和优化来确保最佳性能。以下是一些关键的知识点...
### Oracle 11g 性能优化与调优详解 #### 一、Oracle 11g 性能调优器介绍 在Oracle 11g中,性能调优是一项非常重要的工作,它可以帮助数据库管理员(DBA)有效地提高系统的运行效率。性能调优器是一个综合性的工具集...
本PPT深入探讨了Oracle SQL优化的各种方面,旨在帮助读者理解SQL执行过程,掌握优化技巧,提升系统性能。 **1. 优化基础知识** - **性能管理**:早期介入,设定明确目标,持续监控,团队协作,及时应对意外和变化,...
《Oracle性能优化技术内幕》是一本深入探讨Oracle数据库性能调优的专业书籍,旨在帮助读者掌握在实际工作中如何提升Oracle数据库的运行效率。Oracle数据库作为全球广泛使用的大型企业级数据库管理系统,其性能优化...