- 浏览: 1183324 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (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 1872并发行级锁超2秒报警监控sql -
数据设计规范v
2010-06-22 19:47 0数据设计规范v -
Oracle 有趣排序包括那些
2010-06-20 16:51 1396按拼音排序 select * from table ... -
Oracle sql 性能优化调整
2010-06-20 16:15 1359Oracle sql ... -
Delete、Drop、Truncate的比较(转)
2010-05-31 13:39 1437Delete、Drop、Truncate的比较 关键字: d ... -
Oracle误操作解决方案(转)
2010-05-31 13:35 1360Oracle误操作解决方案 文章分类:数据库 一.误删除数 ... -
一个递归调用的存储过程
2010-04-19 01:51 1800一个递归调用的存储过程 -
oracle index学习总结
2009-12-08 10:44 19579oracle index 1.index需要储存空间 ... -
Jdbc 和hibernate
2009-11-16 23:38 1836Jdbc 和hibernate 一、Jdbc是java ... -
去掉 powerDesigner 中表设计时的 name和code联动的功能
2009-11-16 17:04 3440去掉 powerDesigner 中表设计时的 name和co ... -
oracle数据库索引未被使用的问题及其解决2007
2009-11-15 01:42 2100一次,在进行WEB页面上进行历史数据文件检查时,发现数据库访问 ... -
RMAN配置及备份与恢复练习
2009-09-27 18:06 15991.创建表空间SQL>create tablespace ... -
误删除数据后怎么立即恢复(不考虑全库备份和利用归档日志)
2009-09-27 18:01 3353要达到删除数据,有以下几种方式都可以:1、delete2、dr ... -
IMP数据到指定的表空间
2009-09-27 12:47 9061IMP数据到指定的表空间 一直以来,我都认为只要指定用户的默 ... -
ORACLE UPDATE 语句语法与性能分析
2009-09-27 09:49 1844为了方便起见,建立了以下简单模型,和构造了部分测试数据: 在 ... -
oracle job 例子
2009-09-22 12:38 3035一、设置初始化参 ... -
oracle 时间加减综合
2009-09-17 11:43 1957加法 select sysdate,add_mon ... -
详细介绍ORACLE sqlplus命令
2009-09-09 16:42 2020一、ORACLE的启动和关闭1、在单机环境下要想启动或关闭OR ... -
AWR介绍与SYSAUX空间关系 SYASAUX表空间满了 系统慢
2009-09-08 09:45 7840AWR介绍与SYSAUX空间关系 2007-11-05 14 ... -
to_char 'NLS_DATE_LANGUAG参数
2009-09-02 18:41 1438select to_char(sysdate, 'Day'), ...
相关推荐
《mysql管理之道:性能调优、高可用与监控》由资深mysql专家撰写,以最新的mysql版本为基础,以构建高性能mysql服务器为核心,从故障诊断、表设计、sql优化、性能参数调优、mydumper逻辑、xtrabackup热备份与恢复、...
《高性能Linux服务器构建实战:运维监控、性能调优与集群应用》以构建高性能Linux服务器为核心内容,从Web应用、数据备份与恢复、网络存储应用、运维监控与性能优化、集群高级应用等多个方面深入讲解了如何构建高性能...
3.1.1 Oracle性能优化 3.1.2 Oracle的其他调整 第四章 操作系统调优 4.1 操作系统调整 4.1.1 HP-UX 4.1.2 Solaris 4.1.3 AIX 4.1.4 Linux 4.1.5 Windows 第五章 性能监控和性能分析 5.1 性能瓶颈 5.2 操作系统监控 ...
10.ORACLE性能调整1 11.ORACLE性能调整2 12.Oracle专家调优秘密 13.PL_SQL单行函数和组函数详解 14.PL-SQL 15.PLSQL异常处理初步 16.SQL语句性能调整原则 17.创建和使用分区的表 18.基于成本的优化...
此文档目的帮助更加深入理解 AWR 报表,为 oracle 从业者与技术爱好做性能分析与性 能监控提供参考资料。 文档编写依据: 文档基于 oracle 包源码分析得出。 dbms_swrf_report_internal,test_dbms_workload_...
对数据库的调优能够分为三个部分: 在应用层对SQL语句进行优化; 对数据库进行优化。 对数据库软件进行优化。 在应用层优化数据库訪问。涉及大量的编程技巧。比方。当使用JDBC进行查询的时候,对于大量拥有...
自己整理的一位牛人写的通向...(第二十四天)之Oracle性能调优-朝拜先知之旅 (第二十五天)SSH的单元测试与dbunit的整合 (第二十六天)漫谈架构与设计文档的写作技巧 (第二十七天)IBM网格计算与企业批处理任务架构
有近20年使用Oracle技术产品以及Oracle数据库管理员/Oracle数据库应用管理员的经验,是真正应用集群、性能调优以及数据库内部属性方面的专家。同时是一位演讲家及Oracle ACE。 JARED STILL 从1994年就开始使用...
1.6 Nginx性能优化技巧 1.6.1 编译安装过程优化 1.6.2 利用TCMalloc优化Nginx的性能 1.6.3 Nginx内核参数优化 1.7 实战Nginx与PHP(FastCGI)的安装、配置与优化 1.7.1 什么是 FastCGI 1.7.2 Nginx+...
拥有5年专职数据库设计&开发(ETL/BI/大数据)经验,10年数据库性能优化&SQL优化经验 长期致力于优化器内部原理以及SQL等价改写的研究和技术分享,累计培训过2000+数据库从业者 2014年出版《Oracle查询优化改写技巧与...
10. Oracle的性能优化 48 10.1. 性能优化概述 48 10.1.1. 性能优化的内容 48 10.1.2. 不同类型系统的优化 48 10.1.2.1. 在线事务处理信息系统(OLTP) 48 10.1.2.2. 数据仓库系统(Data Warehousing) 48 10.2. SQL...
4.3 性能调优 47 4.3.1 优化策略 48 4.3.2 关键问题分析 52 4.3.3 并行度 53 4.3.4 处理建议 53 4.3.5 其它 54 4.3.6 机器的对称性 54 4.3.7 并行调度测试说明: 55 5. 开发经验技巧汇总 55 5.1.1 问题 55
│ JVM性能调优 2018-10-25.mp4 │ ├─面试必问-mybaits源码分析 │ │ 鲁班学院-上课笔记mybaits源码分析9-05.docx │ │ │ └─mybaits源码分析 │ mybaits源码分析.mp4 │ ├─面试必问-springcloud架构...
JavaSE核心 异常处理、多线程基础、IO系统、网络编程、Java反射机制、JVM性能调优(JVM内存结构剖析、GC分析及调优、JVM内存参数优化)、Java泛型、JDK新特性 熟练掌握JavaSE核心内容,特别是IO和多线程;...
从网络到性能优化,从备份恢复到Error message,一应俱全 例子:遇到失效的存储过程怎么办? 4. 如何对存储过程进行Debug? 需要Toad单独的Debug Option(Standard Version 没有这个选项) 要用Toad对存储...