使用 ALTER TABLE 语句的 MODIFY EXTENT SIZE 子句更改数据库中表的第一个 extent 的大
小。
您不能使用该 MODIFY EXTENT SIZE 子句更改这些 extent 的大小:
⚫ 在 blobspace 中的表中的第一个 extent
⚫ 外部表、虚拟表或系统目录表中的第一个 extent
⚫ tblspace tblspace 中的第一个 extent
MODIFY EXTENT SIZE 子句
最小大小是磁盘页大小的 4 倍。例如,在一个 2 千字节页的系统上,最小长度是 8 千字节。最
大长度等于 chunk 大小。
以下示例指定了一个 32 千字节大小的 extent :
ALTER TABLE customer MODIFY EXTENT SIZE 32;
当您更改第一个 extent 的大小时,数据库服务器记录系统目录和分区页的更改,但是在重建表或
创建分区和分片时,只记录实际的更改。
例如,如果表拥有一个 8 千字节大小的首个 extent,且您使用 ALTER TABLE 语句将其大小修改
为 16 千字节,则数据库不会删除当前首个 extent 并按新的大小重建它。而是,只有在服务器在
该表上重建聚集索引或从该表拆离分片操作之后重建此表时,第一个 16 千字节大小的 extent 才
会生效。
如果一个不带 REUSE 选项的 TRUNCATE TABLE 子句在带有 MODIFY EXTENT SIZE 子句的
ALTER TABLE 语句之前执行,则第一个 extent 的大小不能发生改变。
如果在 dbspace 中现有表含有数据,并已为该表分配了第一个和第二个 extent ,则您将不能更改
第一个和第二个 extent 的大小。如果您想要更改现有 extent 的大小,则必须删除此表,用包含希
望的值的强有力的子句重建该表,并再次加载数据。
您可以同时更改第一个和第二个 extent 的大小。以下示例指定更改第一个和第二个 extent 的大
小:
ALTER TABLE customer MODIFY EXTENT SIZE 32 NEXT SIZE 32
第一个和下一个 extent 的大小记录在 PNSIZES 逻辑日志记录中。
MODIFY EXTENT SIZE 子句
最新推荐文章于 2024-07-26 14:20:58 发布