ALTER FRAGMENT 语句的 INIT
子句可以定义或修改现有表或现有索引的分片策略或存储位置。
语法
元素 |
描述 |
限制 |
语法 |
dbspace |
存储已分片数据的 Dbspace |
在执行时必须存在 |
标识符 |
fragment |
分片的名称 |
对同一个表不超过 2048 个 |
标识符 |
INIT 子句可以完成的任务包括:
- 将未分片表从一个 dbspace 移动到一个命名的分片或另一个 dbspace
。
- 将分片表转换为未分片表。
- 将现有的未分片表分片,而不用重新定义它。
- 将一个分片粗出策略转换为另一个分片存储策略。
- 将未分片的现有索引分片,而不重新定义该索引。
- 将分片索引转换为未分片所以。
- 向表定义添加一个新的 rowid 列。
当您使用 INIT 子句修改表时,系统目录表中的 tabid 值会为受影响的表而更改。该表所有唯一和引用约束的 constrid 值也会更改。
有关您可以存储表的存储空间的更多信息,请参阅
使用 IN 子句。
注意: 当您带此子句执行 ALTER FRAGMENT
语句时,如果该表包含任何数据,则会产生数据移动。如果数据值移动,则可能存在:大量日志记录、正在作为长事务放弃的事务、正在受影响的表上存储的比较长的互斥锁。请在此语句不会妨碍日常操作时使用它。