zoukankan      html  css  js  c++  java
  • Oracle 10R2 研究db_file_multiblock_read_count对成本的影响

        当研究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 可以获得较好的性能提升。

  • 相关阅读:
    iPhone控件之UIDatePicker
    iPhone控件之UIActionSheet
    iPhone控件之UIActivityView
    iPhone控件之UIPickerView2
    RTP/RTCP协议详解
    ASIHTTPRequest详解[转载]
    iPhone控件之UIProgressView
    iPhone控件之UIPageControl
    iPhone控件之UISegmentedControl
    使用AsyncSocket实现RTSP协议
  • 原文地址:https://www.cnblogs.com/zping/p/1311128.html
Copyright © 2011-2022 走看看