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

  • 相关阅读:
    WPF学习10:基于MVVM Light 制作图形编辑工具(1)
    外文翻译 《How we decide》赛场上的四分卫
    算法学习01:二分查询,选择法、插入法、分治法排序
    外文翻译 《How we decide》 Introduction
    WPF学习09:数据绑定之 Binding to List Data
    WPF学习08:MVVM 预备知识之COMMAND
    WPF学习07:MVVM 预备知识之数据绑定
    WPF学习05:2D绘图 使用Transform进行控件变形
    WPF学习06:转换控件内容为可存储图片
    WPF学习04:2D绘图 使用Shape绘基本图形
  • 原文地址:https://www.cnblogs.com/zping/p/1311128.html
Copyright © 2011-2022 走看看