CREATE SHARDING TABLE RULE

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

    1.标准分片规则

    2.自动分片规则

    3.使用 ifNotExists 子句创建分片规则

    • 标准分片规则
    • 自动分片规则