当您创建表时,数据库服务器会分配固定数量的空间以包含要存储在该表中的数据。当此空间填满时,数据库服务器必须分配额外的存储空间。数据库服务器用来同时分配初始和后续存储空间的物理存储单元称为扩展数据块。
图: 由原始磁盘设备上 6 个连续页构成的扩展数据块
扩展数据块包含了为指定的表存储数据的邻接页的集合。(请参阅表。)每个永久数据库表都有两个与其关联的扩展数据块大小。初始扩展数据块大小是在表第一次创建时分配给该表的 KB 数。下一个扩展数据块大小是在初始扩展数据块(以及任何后续的扩展数据块)变满时分配给该表的 KB 数。对于永久表以及用户定义的临时表,下一个扩展数据块大小会在每个扩展数据块之后开始加倍。对于系统创建的临时表,下一个扩展数据块大小会在已添加了 4 个扩展数据块之后开始加倍。
在创建表时,您可以指定初始扩展数据块的大小,以及表增长时要添加的扩展数据块的大小。 还可以修改数据库空间的表中扩展数据块的大小,以及修改新的后续扩展数据块的大小。要指定初始扩展数据块大小和下一个扩展数据块大小,请使用 CREATE TABLE 和 ALTER TABLE 语句。 有关更多信息,请参阅 GBase 8s SQL 指南:语法 和 GBase 8s 管理员参考 中有关磁盘结构的部分。
当创建带有 CLOB 或 BLOB 数据类型列的表时,还应为智能大对象空间定义扩展数据块。有关更多信息,请参阅智能大对象空间的存储特征。
图: 扩展数据块的分配过程