INIT 子句

ALTER FRAGMENT 语句的 INIT 子句可以定义或修改现有表或现有索引的分片策略或存储位置。

语法
INIT 子句
元素 描述 限制 语法
dbspace 存储已分片数据的 Dbspace 在执行时必须存在 标识符
fragment 分片的名称 对同一个表不超过 2048 个 标识符
INIT 子句可以完成的任务包括:
  • 将未分片表从一个 dbspace 移动到一个命名的分片或另一个 dbspace 。
  • 将分片表转换为未分片表。
  • 将现有的未分片表分片,而不用重新定义它。
  • 将一个分片粗出策略转换为另一个分片存储策略。
  • 将未分片的现有索引分片,而不重新定义该索引。
  • 将分片索引转换为未分片所以。
  • 向表定义添加一个新的 rowid 列。

当您使用 INIT 子句修改表时,系统目录表中的 tabid 值会为受影响的表而更改。该表所有唯一和引用约束的 constrid 值也会更改。

有关您可以存储表的存储空间的更多信息,请参阅使用 IN 子句
注意: 当您带此子句执行 ALTER FRAGMENT 语句时,如果该表包含任何数据,则会产生数据移动。如果数据值移动,则可能存在:大量日志记录、正在作为长事务放弃的事务、正在受影响的表上存储的比较长的互斥锁。请在此语句不会妨碍日常操作时使用它。
1 请参阅 表的 FRAGMENT BY 子句
2 请参阅 索引的 FRAGMENT BY 子句