没有合适的资源?快使用搜索试试~ 我知道了~
Oracle SQL优化的53个黄金法则

温馨提示


试读
64页
Oracle SQL优化的53个黄金法则: 设置缺省的优化器,可以通过对init.ora文件中OPTIMIZER_MODE参数的各种声明,如RULE,COST,CHOOSE,ALL_ROWS,FIRST_ROWS . 你当然也在SQL句级或是会话(session)级对其进行覆盖。 ……
资源推荐
资源详情
资源评论





语句优化
个规则详解

语句优化53个规则详解
语句优化53个规则详解
性能优化调整
选用适合的
优化器
的优化器共有
种:

(基于规则)
(基于成本)
(选择性)
设置缺省的优化器,可以通过对
文件中
! "#!$
参数的各种声明,如
,
,
,
#%
,
& #%
你当然也在
'
句级或是会话(
)级
对其进行覆盖。
为了使用基于成本的优化器(
(
,
)(*+,-.
)
,
你必须经常运行
/.
命令,
以增加数据库中的对象统计信息(
0,,
)的准确性。
如果数据库的优化器模式设置为选择性(
),那么实际的优化器模式将和是否运行过
/.
命令有关。
如果
已经被
/.
过,
优化器模式将自动成为
(
,
反之,数据库
将采用
形式的优化器。
在缺省情况下,
采用
优化器,为了避免那些不必要的全表扫描(
12
)
,
你必须尽量避免使用
优化器,而直接采用基于规则或者基于成本的优化器。
3
访问
的方式
采用两种访问表中记录的方式:
全表扫描
全表扫描就是顺序地访问表中每条记录。
采用一次读入多个数据块(
*
4
)的方式优化全表扫描。

通过
% $
访问表
你可以采用基于
% $
的访问方式情况,提高访问表的效率,
% $
包含了表中记录的
物理位置信息……
采用索引(
5$6
)实现了数据和存放数据的物理位置(
% $
)之
间的联系。
通常索引提供了快速访问
% $
的方法,因此那些基于索引列的查询就可以得到
性能上的提高。
共享
'
语句
为了不重复解析相同的
'
语句,在第一次解析之后,
将
'
语句存放在内存中。这
块位于系统全局区域
7
(
/-8
)的共享池(
9*2:+
)中的内存可以被
所有的数据库用户共享。
因此,当你执行一个
'
语句(有时被称为一个游标)时,如果它和
之前的执行过的语句完全相同,
就能很快获得已经被解析的语句以及最好的执行路径。
的这个功能大大地提高了
'
的执行性能并节省了内存的使用。
可惜的是
只对简单的表提供高速缓冲(
92:8
)
,这个功能并不适用于多表
连接查询。
数据库管理员必须在
中为这个区域设置合适的参数,当这个内存区域越大,就可以保
留更多的语句,当然被共享的可能性也就越大了。
当你向
提交一个
'
语句,
会首先在这块内存中查找相同的语句。
这里需要注明的是,
对两者采取的是一种严格匹配,要达成共享,
'
语句必须完全
相同(包括空格,换行等)。
共享的语句必须满足三个条件:

字符级的比较:
当前被执行的语句和共享池中的语句必须完全相同。
例如:
;&!!
;
和下列每一个都不同
;1-!
;
;&--+
;
;&!!
;
(
两个语句所指的对象必须完全相同:
例如:
用户
对象名
如何访问
<4#-+=//-
%4#/+2//-
剩余63页未读,继续阅读
资源评论

- xuefeimengli20072012-12-05文档格式太乱了。。。内容如果再深入说明就好了
- shanpingliu2012-10-09里面的好多都没用到,从中学到了好多提高性能的方法。不错,谢谢分享。

海洋‘s
- 粉丝: 72
- 资源: 14
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


安全验证
文档复制为VIP权益,开通VIP直接复制
