|
昨天的考虑应当还是不对,回去又重新回顾了一下概念
严格意义上来讲,block本身不会不连续,是extent 导致了不连续
现在把表的大小扩大,扩大为64M,假设表空间的extend都是uniform size, 大小8M,那么
干脆把前提的条件在整体定义一下
例如
A 表空间的大小为20G,extent unifor size =8M,自动分配
DB_BLOCK_SIZE=8k
B 表空间的大小为20G extent unifor size =8M,自动分配
DB_BLOCK_SIZE=32k
table_1在A表空间是表,大小是64m
table_2在B表空间是表,大小也是是64m
那么table_1和table_2都只有8个extent,假设分布也一样(例如都是零散分布,分布率也相同),无论db_block_size是多少,
IO读取效率明显一样啊?
什么意思呢?对于一个extent,无论db_block_size是多少,因为它里面的block是连续的,
那么就总是连续读,根本就不用关心DB_BLOCK_SIZE的大小啊?
所以,我觉得
“
以OLAP为例,数据块越大一次性读入内存的有效数据就越多(因为OLAP一般会连续读入大量数据),
”
还是站不脚啊,我的理解哪里不对呢?还望指教啊 |
|