CREATE SHARDING TABLE REFERENCE RULE

Description

The CREATE SHARDING TABLE REFERENCE RULE syntax is used to create reference rule for sharding tables

Syntax

  1. CreateShardingTableReferenceRule ::=
  2. 'CREATE' 'SHARDING' 'TABLE' 'REFERENCE' 'RULE' referenceRelationshipDefinition (',' referenceRelationshipDefinition )*
  3. referenceRelationshipDefinition ::=
  4. ruleName '(' tableName (',' tableName)* ')'
  5. tableName ::=
  6. identifier

Supplement

  • Sharding table reference rule can only be created for sharding tables;
  • A sharding table can only be associated with one sharding table reference rule;
  • The referenced sharding tables should be sharded in the same storage units and have the same number of sharding nodes. For example ds_${0..1}.t_order_${0..1} and ds_${0..1}.t_order_item_${0..1};
  • The referenced sharding tables should use consistent sharding algorithms. For example t_order_{order_id % 2} and t_order_item_{order_item_id % 2};

Example

1.Create a sharding table reference rule

  1. -- Before creating a sharding table reference rule, you need to create sharding table rules t_order, t_order_item
  2. CREATE SHARDING TABLE REFERENCE RULE ref_0 (t_order,t_order_item);

2.Create multiple sharding table reference rules

  1. -- Before creating sharding table reference rules, you need to create sharding table rules t_order, t_order_item, t_product, t_product_item
  2. CREATE SHARDING TABLE REFERENCE RULE ref_0 (t_order,t_order_item), ref_1 (t_product,t_product_item);

Reserved word

CREATE, SHARDING, TABLE, REFERENCE, RULE