当前位置: 首页 > 图文教程 > 数据库 > Oracle > oltp系统,数据块大小用4k还是8k好?

Oracle
oracle sys_connect_by_path 函数 结果集连接
oracle join on 数据过滤问题
Oracle 当前用户下所有表的记录总数
oracle 树查询 语句
oracle 触发器 实现出入库
Oracle 函数大全
oracle 删除重复数据
ORACLE 最大连接数的问题
oracle 层次化查询(行政区划三级级联)
oracle 查询表名以及表的列名
Oracle 数据显示 横表转纵表
oracle 服务启动,关闭脚本(windows系统下)
ORCLE 表中列的修改
oracle 数据库连接分析
Oracle 实现类似SQL Server中自增字段的一个办法
Oracle 常用的SQL语句
Oracle 数组的学习 小知识也要积累,养成好的学习态度
Oracle 日期的一些简单使用
Oracle 数据库连接查询SQL语句
Oracle DBA常用语句

Oracle 中的 oltp系统,数据块大小用4k还是8k好?


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-31   浏览: 118 ::
收藏到网摘: n/a

问:

用dbca建库时,oracle提供的oltp的模板中,
db_block_size=4k
Oracle OLAP=false

处理事务时,4k比8k数据块性能是不是好很多?
是不是也得从statspack中来查看具体性能差异?

答:

oltp的话,看你的需要了,一般block是小点好
小的块:
好处:
小的块降低块竞争,因为每个块中的行较少.
小的块对于小的行有益.
小的块对于随意的访问较好.如果一个块不太可能在读入内存后被修改,那么块的大小越小使用buffer cache越有效率。当内存资源很珍贵时尤为重要,因为数据库的buffer cache是被限制大小的。
劣势:
小块的管理消费相对大.
因为行的大小你可能只在块中存储很小数目的行,这可能导致额外的I/O。
小块可能导致更多的索引块被读取

大的块
好处:
更少的管理消费和更多存储数据的空间.
大块对于有顺序的读取较好.
大块对很大的行较好
大块改进了索引读取的性能.大的块可以在一个块中容纳更多的索引条目,降低了大的索引级的数量.越少的index level意味着在遍历索引分支的时候越少的I/O。
劣势:
大块不适合在OLTP中用作索引块,因为它们增加了在索引叶块上的块竞争。
如果你是随意的访问小的行并有大的块,buffer cache就被浪费了。例如,8 KB的block size 和50 byte row size,你浪费了7,950 bytes in the buffer cache when doing a random access.