
performance tuning
事后诸葛亮
深入浅出!
展开
-
oracle的锁总结!
首先介绍一些锁的概念:锁(lock)机制用于管理对共享资源的并发访问。丢失更新:(1) 会话Session1 中的一个事务获取(查询)一行数据,放入本地内存,并显示给一个最终用户User1。(2) 会话Session2 中的另一个事务也获取这一行,但是将数据显示给另一个最终用户User2。(3) User1 使用应用修改了这一行,让应用更新数据库并提交。会话Session1 的原创 2011-10-28 16:02:50 · 978 阅读 · 0 评论 -
11g新特性-查询缓存!
1、配置服务器查询缓存sys@ORCL> show parameter result_NAME TYPE VALUE------------------------------------ ----------- ------------------------------result_cache_max原创 2013-11-01 14:46:26 · 928 阅读 · 0 评论 -
检查、处理行链接!
一、使用dbms_advisor段顾问建议来检查行链接1、首先模拟行链接:u1@ORCL> drop table big_table;表已删除。u1@ORCL> create table big_table(col varchar2(4000)) pctfree 0;表已创建。u1@ORCL> select table_name,pct_free from user_tab原创 2013-10-30 12:10:02 · 1067 阅读 · 0 评论 -
高水位线HWM!
如何知道一个表的HWM?1、首先对表进行分析:analyze table compute/estimate statistics;compute:是全表分析。estimate :是抽样分析。2、查看相关信息:select segment_name,segment_type,bytes,blocks,extents from user_segments;bytes:对象原创 2011-11-10 17:05:24 · 896 阅读 · 0 评论 -
Oracle物理读与逻辑读!
Physical Reads(物理读):物理读是内容不在内存中,要去硬盘中读入内存。计算公式可以如下:Physical Reads = db block gets + consistent gets;Logical Reads(逻辑读):逻辑读内容在内存中,不需要读硬盘。db block gets --从buffer原创 2011-11-30 19:08:23 · 1929 阅读 · 0 评论 -
多表连接的三种方式详解 HASH JOIN MERGE JOIN NESTED LOOP !
注意:本文转载自:http://blog.youkuaiyun.com/tianlesoftware/article/details/5826546在多表联合查询的时候,如果我们查看它的执行计划,就会发现里面有多表之间的连接方式。 之前打算在sqlplus中用执行计划的,但是格式看起来有点乱,就用Toad 做了3个截图。 从3张图里转载 2012-06-14 14:50:57 · 528 阅读 · 0 评论 -
shared pool 深入分析!
1.shared pool:SQL> show sga;Total System Global Area 849530880 bytesFixed Size 1339824 bytes --固定区域Variable Size 549457488 bytes --可变区域Database Buffers原创 2012-04-28 17:10:17 · 1095 阅读 · 0 评论 -
buffer cache 内存结构深入分析!
1. buffer cache的概念buffer cache——为了能够加快处理数据的速度,oracle必须将读取过的数据缓存在内存里。而oracle对这些缓存在内存里的数据起了个名字:数据高速缓存区(db buffer cache),通常就叫做buffer cache。oracle内部在实现其管理的过程中,有两个非常有名的名词:链表和hash算法。 链表是一种数据结构,通过将原创 2012-04-27 16:21:58 · 1449 阅读 · 0 评论 -
HINT如何跨越视图生效!
oracle的hint可以强制指定sql的执行计划:比如选择索引、表的连接顺序以及表的连接方式。不过如果查询的对象是视图,使用hint就变得麻烦一些。看一个具体的例子:SQL> create table t1 (id number,name varchar2(30),type varchar2(30));表已创建。SQL> create table t2 (id number,name原创 2011-12-21 14:41:30 · 1312 阅读 · 0 评论 -
绑定变量!
在OLTP系统中,应该尽可能的使用绑定变量。在OLAP系统中,绑定变量不是必须的,相反,如果使用了反而可能带来副作用。下面的例子对比了一下一条sql被执行10000次时,绑定变量和非绑定变量在资源消耗上的情况:SQL> alter session set sql_trace = true;会话已更改。SQL> begin 2 for x in 1 .. 10000原创 2011-10-31 18:05:32 · 584 阅读 · 0 评论 -
Oracle10g数据库自动诊断监视工具(ADDM)使用指南
第一章ADDM简介在Oracle9i及之前,DBA们已经拥有了很多很好用的性能分析工具,比如,tkprof、sql_trace、statspack、set event 10046&10053等等。这些工具能够帮助DBA很快的定位性能问题。但这些工具都只给出一些统计数据,然后再由DBA们根据自己的经验进行优化。那能不能由机器自动在统计数据的基础上给出优化建议呢?Oracle10g中就推出转载 2013-11-26 13:22:56 · 3428 阅读 · 0 评论