首先说一下数据块吧,它是数据存储的基础。
例如:你使用了8K大小作为DB_BLOCK_SIZE(可以定义为2K,4K,8K,16K,32K或更大),或是使用64K,
当你要查询一个4字符的数据时,oracle会在整个8K或是64K的数据块上进行读取。
可想而知使用8K的性能就要优于64K的。
怎样定义数据块才能使oracle性能发挥到很好呢?
首先考虑你的操作系统,讲数据块大小定义为操作系统块尺寸大小的整数倍。
那样你的oracle数据库性能会提升5%。
其次,考虑数据。
·如果行比较小而且访问很随机,则选择较小的块尺寸。
·如果行比较小而且访问主要是连续的,或者如果有较大的行,就应该选用大的尺寸块。
对于大多数处理大量事务的系统来说,oracle推荐你选用8K,如果使用LOB(大对象),那么就需要8K更大的尺寸块。