CREATE SHARDING TABLE RULE
tableDefinition
为标准分片规则定义;autoTableDefinition
为自动分片规则定义。标准分片规则和自动分片规则可参考;- 当使用标准分片时:
DATANODES
只能使用已经添加到当前逻辑库的资源,且只能使用 INLINE 表达式指定需要的资源;DATABASE_STRATEGY
、TABLE_STRATEGY
表示分库和分表策略,均为可选项,未配置时使用默认策略;strategyDefinition
中属性TYPE
用于指定分片算法的类型,目前仅支持STANDARD
、COMPLEX
。使用COMPLEX
时需要用SHARDING_COLUMNS
指定多个分片键。
- 当使用自动分片时:
STORAGE_UNITS
只能使用已经添加到当前逻辑库的资源,可通过枚举或 INLINE 表达式指定需要的资源;- 只能使用自动分片算法,可参考。
- 自动生成的算法命名规则为
tableName
_strategyType
_algorithmType
; - 自动生成的主键策略命名规则为
tableName
_ `strategyType; KEY_GENERATE_STRATEGY
用于指定主键生成策略,为可选项,关于主键生成策略可参考分布式主键;AUDIT_STRATEGY
用于指定分配审计生成策略,为可选项,关于分片审计生成策略可参考;ifNotExists
子句用于避免出现Duplicate sharding rule
错误。
1.标准分片规则
2.自动分片规则
3.使用 ifNotExists
子句创建分片规则
- 标准分片规则
- 自动分片规则