在以上示例中,表在列 state 上分片,该列称为分片键或分区键。
该分片键可以是列表达式: FRAGMENT BY LIST (SUBSTR(phone, 1, 3))
该分片键表达式可以具有多列,如以下示例所示:
FRAGMENT BY LIST (fname[1,1] || lname[1,1])
该分片必须是不能重叠的,即在值列表中不允许重复值。例如,以下表达式列表对同一表或索引的分片无效,因为它们的 "KS" 表达式重叠:
PARTITION p0 VALUES ("KS", "IL") IN dbs0, PARTITION p1 VALUES ("CA", "KS") IN dbs1, PARTITION p0 VALUES ("KS", "OR", "NM") IN dbs0, 该列表值必须是常量字符。
例如,标识符或 name 变量在以下列表中是不允许的:
PARTITION p0 VALUES (name, "KS", "IL") IN dbs0, NULL 分片是分片键列包含具有 NULL 值的分片。
不同于 FRAGMENT BY EXPRESSION 定义, 您不能在相同的 LIST 分片定义中将 NULL 和 其它列表值组合。
例如,下列 VALUES 列表无 效: PARTITION p0 VALUES ("KS", "IL", NULL) IN dbs0,Remainder 分片是存储分片键值不符合显式定义分片的表达式列表中的任一表达式的行的分片。
如果定义了 remainder 分片,它必须在定义列表分片策略的 FRAGMENT BY 或 PARTITION BY 子
句中最后列出的分片。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




