1)数据块(block) 定义:它是oracle软件的最本存储单位,与操作系统的数据块相关联,都是一种逻辑概念,他是有多个连续的物理块组成; 如: 8k(数据库的数据块)=2*4k(文件系统的存储块)=8*2*512bys(硬盘磁道/扇区) 注:(1)Linux一般文件系统默认存储块是4K (2)8K数据块对应连续读取临近的16个硬盘扇区; (3)需要查询数据,刚将该数据块对应的连续区间加载到内存才会进行后续的分析 数据块的大小 文件系统最大空间 最小2k -- 》 8T 默认8k -- 》 32T 最大32k -- 》 128T 数据块的构成:块头+空闲空间+行数据 2)区(extent) 定义:区是最基本的操作单位,没有实际存储数据,是分配使用空间的基本单位,他由多个连续的数据块组成;在申请空间时,并不是以数据块为单位来申请,而是以区进行空间申请分配;当空间不足时,至少会申请一个区,用于存放数据 特点:1)区内连续,区外离散 硬盘对连续扇区的读写操作--> 顺序IO 数据库对一个区的读写操作--> 顺序IO -->块 多个区的读写操作(数据随机增加,区也随机增加)-->产生随机IO-->慢 2)区的大小取决于数据块大小--》系统默认是1m=128块数据块*8K; 优点:减少申请空间等待时间 可以产生更多的顺序IO减少查询时间; 3)段(segment) 定义:本质上就是一张表,他是由多个数据块组成,以区为单位进行查询/修改操作; 如:用户表,索引表,系统表 4)表空间(tablespace) 定义:由多个段组成 表空间 user --> 数据文件 user01.dbf 表空间 system - ->数据文件 system01.dbf user01.dbf,system01.dbf,sysaux01.dbf, temporey01.dbf ,undotbl01.dbf对应的表空间
|