Oracle 10R2 研究--db_file_multiblock_read_count对成本的影响

本文通过实验研究了Oracle数据库中db_file_multiblock_read_count参数对于全表扫描性能的影响。结果显示增大该参数可以有效减少查询时间,从而提高性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    当研究oracle的查找方式中发现,在全表扫描和索引扫描时,会用到db_file_multiblock_read_count来一次读取多个IO。也看了一些关于db_file_multiblock_read_count的文章,为加深自己的理解,特做个试验研究。

 以下是reference对它的解释:
   参数类型: Integer
   默认值: 这个值对应最大的I/O大小,但是它是平台依赖的。
   修改方法:ALTER SESSION, ALTER SYSTEM
   值范围:依赖于操作系统
   这个参数的意思是,在Table scan中,一次连续读(sequential read)能获取的最大块数。当然这个值,不能超过操作系统和硬件的I/O极限。如果超过了,Oracle则会使用实际最大值。一般在OLTP系统中,这个值是4~16

     执行语句: 

select count(DISTINCT AMOR_VAL) from COST_LEDG_H

    列AMOR_VAL没有建立任何索引,同时COST_LEDG_H有大约3百万行数据。

   执行:

alter session set db_file_multiblock_read_count=4

  统计结果:

| Id  | Operation          | Name        | Rows  | Bytes | Cost (%CPU)| Time
--------------------------------------------------------------------------------
|   0 | SELECT STATEMENT   |             |     1 |     2 |  5352   (4)| 00:01:05

    
13784  consistent gets
  执行:
alter session set db_file_multiblock_read_count=8;

  统计结果:

| Id  | Operation          | Name        | Rows  | Bytes | Cost (%CPU)| Time
--------------------------------------------------------------------------------
|   0 | SELECT STATEMENT   |             |     1 |     2 |  3914   (5)| 00:00:47

 
13784  consistent gets

  执行

alter session set db_file_multiblock_read_count=16;

  统计结果:

| Id  | Operation          | Name        | Rows  | Bytes | Cost (%CPU)| Time
|   0 | SELECT STATEMENT   |             |     1 |     2 |  3194   (6)| 00:00:39
 
 
13784  consistent gets

 

   通过以上的例子发现,我们将 db_file_multiblock_read_count 改成4,8,16后,虽然查询的IO次数没变,但查询的时间从65s,47s,39s的减少,

效果显著,同时Cost也限制减少。

   总结:较大的db_file_multiblock_read_count 可以获得较好的性能提升。

转载于:https://www.cnblogs.com/zping/archive/2008/10/14/1311128.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值