1. 段区块是 Oracle 数据库的逻辑上的概念。块属于区,区属于段
2. Oracle 在创建表时,会分配一个段来装这个表。可以理解为一个表就是一个段。
3. 第 2 点说的不够准确。实际上, Oracle 在创建空表,在没有添加数据时,是不分配逻辑结构的(为了节省更多的空间),只有在添加数据的时候才会分配逻辑结构。当然,一个表还是一个段。
4. 区是由很多个连续的块组成。 Oracle 在创建好表,添加数据时,会产生一个新的区, Oracle 会往这些新的区中添加数据,这些区由很多个块组成。当这个区用完之后,会接着产生下一个区。
5. 块的大小默认是 8k, 可以修改。
6. Oracle 数据库是由很多个表组成,表又是由很多数据行来组成。
7. 每个块中会有多个数据行,一个数据行通常只能在一个块中。因为一个块是 8k, 一行数据肯定远小于这个数值,所以一个块可以装很多数据,够装了。
8. 块是 Oracle I/O 的最小单位。 I/O 是指从磁盘到内存的过程。数据是存放在磁盘上的。所以通常我们检索一行数据, Oracle 在磁盘中,不可能只调取一行数据,最少是调取一个块,也就是 8k 。比如我要读取的一行数据大小为 100 字节,但是 Oracle 每次读这行数据时,都会读取它所在的块,也就是 8k.