CREATE DEFAULT SHARDING STRATEGY
描述
CREATE DEFAULT SHARDING STRATEGY
语法用于创建默认的分片策略
语法定义
语法 铁路图
CreateDefaultShardingStrategy ::=
'CREATE' 'DEFAULT' 'SHARDING' ('DATABASE' | 'TABLE') 'STRATEGY' ifNotExists? '(' shardingStrategy ')'
ifNotExists ::=
'IF' 'NOT' 'EXISTS'
shardingStrategy ::=
'TYPE' '=' strategyType ',' ('SHARDING_COLUMN' '=' columnName | 'SHARDING_COLUMNS' '=' columnNames) ',' 'SHARDING_ALGORITHM' '=' algorithmDefinition
strategyType ::=
string
algorithmDefinition ::=
'TYPE' '(' 'NAME' '=' algorithmType ',' propertiesDefinition ')'
columnNames ::=
columnName (',' columnName)+
columnName ::=
identifier
algorithmType ::=
string
propertiesDefinition ::=
'PROPERTIES' '(' key '=' value (',' key '=' value)* ')'
key ::=
string
value ::=
literal
补充说明
- 当使用复合分片算法时,需要通过
SHARDING_COLUMNS
指定多个分片键; algorithmType
为分片算法类型,详细的分片算法类型信息请参考分片算法;ifNotExists
子句用于避免出现Duplicate default sharding strategy
错误。
示例
- 创建默认分表策略
CREATE DEFAULT SHARDING TABLE STRATEGY (
TYPE="standard", SHARDING_COLUMN=user_id, SHARDING_ALGORITHM(TYPE(NAME=inline, PROPERTIES("algorithm-expression"="t_order_${user_id % 2}")))
);
- 使用
ifNotExists
创建默认分表策略
CREATE DEFAULT SHARDING TABLE STRATEGY IF NOT EXISTS (
TYPE="standard", SHARDING_COLUMN=user_id, SHARDING_ALGORITHM(TYPE(NAME=inline, PROPERTIES("algorithm-expression"="t_order_${user_id % 2}")))
);
保留字
CREATE
、DEFAULT
、SHARDING
、DATABASE
、TABLE
、STRATEGY
、TYPE
、SHARDING_COLUMN
、SHARDING_COLUMNS
、SHARDING_ALGORITHM
、NAME
、PROPERTIES
相关链接
当前内容版权归 ShardingSphere 或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问 ShardingSphere .