没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
Sinoservices
© Copyright Sinoservices
优化指南
2010-01-01
Business Consulting Services
© Copyright Gillion Technologies 2005
选用适合的 优化器
的优化器共有 种
基于规则 基于成本 选择性
设置缺省的优化器 可以通过对 文件中 ! "#!$ 参数的各种声明
如 #%& #% 你当然也在 句级或
是会话 ''' 级对其进行覆盖
为了使用基于成本的优化器 (')('*+,- 你必须经常运行 .
- 命令 以增加数据库中的对象统计信息 /''' 的准确性
如果数据库的优化器模式设置为选择性 那么实际的优化器模式将和是否
运行过 .- 命令有关 如果 已经被 .- 过 优化器模式将自动成为
( 反之 数据库将采用 形式的优化器
在缺省情况下 采用 优化器 为了避免那些不必要的全表扫描 01
' 你必须尽量避免使用 优化器 而直接采用基于规则或者基
于成本的优化器
Business Consulting Services
© Copyright Gillion Technologies 2005
访问 的方式
采用两种访问表中记录的方式
222222 全表扫描
全表扫描就是顺序地访问表中每条记录 采用一次读入多个数据块 *
'3 的方式优化全表扫描
222222 通过 % $ 访问表
你可以采用基于 % $ 的访问方式情况 提高访问表的效率 % $ 包含了表
中记录的物理位置信息 采用索引 4$5 实现了数据和存放数据的物理
位置 % $ 之间的联系 通常索引提供了快速访问 % $ 的方法 因此那些基
于索引列的查询就可以得到性能上的提高
6
Business Consulting Services
© Copyright Gillion Technologies 2005
共享 语句
为了不重复解析相同的 语句 在第一次解析之后 将 语句存放在内存
中 这块位于系统全局区域 7'.',8 的共享池 '9*100+
中的内存可以被所有的数据库用户共享 因此 当你执行一个 语句 有时被称为
一个游标 时 如果它和之前的执行过的语句完全相同 就能很快获得已经
被解析的语句以及最好的执行路径 的这个功能大大地提高了 的执行性
能并节省了内存的使用
数据库管理员必须在 中为这个区域设置合适的参数 当这个内存区域越大 就可以
保留更多的语句 当然被共享的可能性也就越大了
当你向 提交一个 语句 会首先在这块内存中查找相同的语句
这里需要注明的是 对两者采取的是一种严格匹配 要达成共享 语句必须
完全相同 包括空格 换行等
例如
:&!!;
和下列每一个都不同
:0,!;
:&,,+;
:&!!;
<
Business Consulting Services
© Copyright Gillion Technologies 2005
共享 语句
使用绑定变量 *=
'9*#+ 缓存已经被解析过的 ,而使其能被重用,不再解析。这样做的原因
是因为,对于一个新的 ( '9*#+ 里面不存在已经解析的可用的相同的
),数据库将执行硬解析,这是一个很消耗资源的过程。而若已经存在,则进
行的仅仅是软分析(在共享池中寻找相同 ),这样消耗的资源大大减少。
没有使用 *= 的 ,我们称为 。也就是比如这样的两句
, 认为是不同的 需要进行 次硬解析:
':0,!>9,?@!A;
':0,!>9,?@BCA;
假如把’!A 和 ‘ BCA 换做变量 D ,那就是使用了 *= ,可以认为是同样的
从而能很好地共享。共享 本来就是 '9*#+#'- 这部分内存存在的
本意, 的目的也在于此,而我们不使用 *= 就是违背了 的初衷
,这样将给我们的系统带来严重的问题。
':0,!>9,?D;
剩余46页未读,继续阅读
资源评论
- llllllllllllllllIIII2013-05-08很实用 刚对数据库做了例行维护
labi47
- 粉丝: 1
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功