设置分片规则的DDL语句 分片算法名称 分片算法ID 算法参数及示例 是否可用于库内分表 取模分片 PartitionByMod 是 字符串hashCode取模分片 PartitionByStringMod 是 枚举分片 PartitionByFileMap mapfile'{"1":"0","2":"1"}' 表示分片键值为1的数据落到第一个分片上,分片键值为2的数据落到第二个分片上 defaultnode'0' 表示分片键值为其它值的数据落到默认第一个分片上 否 时间范围分片 PartitionByDateRange startdate'20180710' 表示开始日期 timeunitlen'1' 表示日期周期 timeunittype'year' 表示时间单位,可选值为[day,week,month,year]之一 库内分片参数:innerstartdate、 innertimeunitlen、innertimeunittype,参数含义与startdate、timeunitlen和timeunittype相同 是 枚举分组取模分片 PartitionByEnumAndMod shardingarea'name'表示分组键字段 mapfile'{"1":"0,1","2":"2,3"}' 表示分组键值为1的数据落到第1和第2个分片,分组键值为2的数据落到第3和第4个分片 defaultnode'0' 表示分组键值为其它的数据落到默认第1个分片 否 枚举分组字符串hashCode取模分片 PartitionByEnumAndStringMod shardingarea'employeeid' 表示分组键字段 mapfile'{"BJ":"0","SH":"1"}' 表示分组键值为BJ的数据落到第1分片,分组键值为SH的数据落到第2个分片 defaultnode'2' 表示分组键值为其它的数据落到默认第3个分片 否 数值类型Range分片 PartitionByIntRange rangevalues'1,10,MAXVALUE' :表示分为3个分片,第一个分片包含小于1的行,第二个分片包含大于等于1小于10的行,第三个分片包含大于等于10的行。 dn'shard1,shard2,shard3' :表示上述三个分片分别位于shard1、shard2和shard3上。 注意 rangevalues必须与dn的元素个数相同 。 dn可省略,表示包含所有shard。