使用 ALTER FRAGMENT ON TABLE 语句的 ATTACH 子句将拥有相同结构的表合并到一个分片存储策略中。
例如,您可以使用该语法,将一个已从表分离的分片组合到一个具有相同分布存储结构的档案表中。
元素 | 描述 | 限制 | 语法 |
---|---|---|---|
const_expr | 定义分片存储列表的常量表达式 | 必须是带引号的字符串或文字值。在同一对象的分片中,表中的值必须唯一。 | 常量表达式 |
consumed _table | 要同 surviving_table 合并而失去身份的表 | 结构必须与 surviving _table 相匹配。不能保护连续列或唯一约束、引用约束或主键约束。另见 ATTACH 子句的一般限制 | 标识符 |
expr | 定义通过表达式分片的表的分片中存储哪些行的表达式 | 仅包含当前表中的列以及单一行中的数据值。另见 ATTACH 子句的一般限制. | 条件; 表达式 |
new_frag | 此处声明的 consumed_table 分片的名称。缺省值为 dbspace 名称 | 在 surviving_table 分片的名称中必须唯一。 | 标识符 |
old_frag | 含有 surviving_table 分片的分区或 dbspace | 必须存在。不能是区间或间隔分片。 | 标识符 |
range _expr | 定义存储在分片中分片密钥的上限的常量表达式 | 必须是数字的常量文字表达式 、DATETIME 或与分片密钥表达式兼容的 DATE 数据类型。 | 常量表达式 |
surviving _table | 要修改分布或存储位置的表 | 必须存在。没有任何约束。另见对 ALTER FRAGMENT 语句的限制。 | 标识符 |
当新的表达式分布被连接到由列表或区间间隔分片的表,死表上的数据和活表上的受影响的分片会被扫描并移动到合适的分区,因为这些策略没有重叠。
如果启用了自动更改分布策略模式,并且表连接到分片分布策略,数据库服务器会计算新分片的分布策略。现有分片的旧的分布策略在此时也将重新计算。分片统计的重运算在后台执行。在数据库服务器结束分片统计计算后,它从表分布策略中合并这些分片,并将结果村春在系统目录中。
(请参阅 将多个未分片表合并以创建一个分片表)
(请参阅 将一个表连接到一个分片表)