分片唯一索引和系统索引

您可以是使用或基于表达式或轮循分布方案分片表中的唯一索引,但是分片表达式中引用的所有列必须是被索引列。如果您的索引分片策略未能符合这些限制,那么 ALTER FRAGMENT INIT 语句会失败,并且工作会回滚。

您可能在以 Column A 分片的表上具有一个连接的唯一索引。如果您使用 ALTER FRAGMENT INIT 将该表的分片存储更改为 Column B ,则该语句失败。因为唯一索引定义在 Column A 上,要解决此问题,请对该索引使用 INIT 子句以将其从表分片存储策略拆离并将其单独分片。

系统索引(例如引用约束和唯一约束中使用的那些索引)使用用户索引(如果这些索引存在)。如果没有用户索引可以使用,系统索引保留未分片状态,并移到创建该数据库服务器的 dbspace 中。要分片系统索引,请在约束列宏创建一个分片索引,然后使用 ALTER TABLE 语句添加该约束。