全部课程
数据库分区表是什么
发布时间: 2022-03-23
数据库分区表是什么?区是磁盘空间分配的最小单位,磁盘按区划分的,每次至少分配一个区。区存储于段中,是数据库存储空间逻辑单位,是由连续的数据块组成的。一个或多个数据块组成一个区,一个或多个区组成一个段。当一个段中所有空间用完时,系统会自动给该段分配一个新区。段的增大是通过增加取得个数实现的。
区的分配方式有两种,一种是基于字典的,一种是本地化管理的,这在8.1节已经有介绍。此外,对于区而言,还有一些存储控制参数,它决定了段在扩大时增加区的方法,包括initial、next、minextents、maxextents、pctincrase、optimal。这些参数联合作用,可决定一个段的大小。
在区中,涉及效率相关的主要是碎片问题。碎片是由于错误或表空间中的实体无计划删除造成的。我们可以通过下面SQL语句查看碎片程度。
本地化管理表空间中,所有的区使用统一储存参数或系统自动管理的存储参数。本地化管理表空间不使用数据字典去寻找空闲空间,而是使用维护位图的方法。系统使用位图的方法查询空闲空间,相邻的空闲区被视为一个大的空闲块,从设计上保证自动合并碎片。
此外,对于本地管理表空间,区的大小可以设置为相同。这样在表空间中强制设置了存储参数,DBA不用担心用户使用不正确的存储参数及产生磁盘碎片。如果碎片过多,可以使用“alter table xxx coalesce”命令合并碎片。
上一篇: 什么是负载均衡高可用
下一篇: 数据段是什么