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

Oracle
常见的一些Oracle初学者的问题
ORACLE认证系统概述
数据库考试简介:Oracle认证
Oracle认证基础知识介绍
ADO连接Oracle Access示例及记录集处理源码
SQL Server和MySQL的安全性分析
用Oracle和SQL Server数据库组合利弊分析
Oracle 11g分区功能新革命
Flashback Query 恢复误删除的数据
基于Oracle高性能动态SQL程序开发
怎样在Oracle 9i中正确的转换时区
Oracle 10g导出的数据库能否导入Oracle 9i?
增加Distinct后查询效率反而提高
Oracle限制返回结果集的大小
Java语言数据库操作的基本流程
美国甲骨文(ORACLE)公司入驻渝中区大都会商厦
RHEL AS4上安装oracle 10R2 的方法
DB中如何查询Table占用空间的大小
编写高质量高性能的MySQL语法
Oracle数据库自动备份的具体实现步骤

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-31   浏览: 114 ::
收藏到网摘: 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.