You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by ji...@apache.org on 2022/10/26 15:07:16 UTC

[shardingsphere] branch master updated: Update DistSQL documents (#21772)

This is an automated email from the ASF dual-hosted git repository.

jianglongtao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git


The following commit(s) were added to refs/heads/master by this push:
     new cdc170629a5 Update DistSQL documents (#21772)
cdc170629a5 is described below

commit cdc170629a5fdc3cb074096768cb7e020caedbad
Author: Zichao <57...@users.noreply.github.com>
AuthorDate: Thu Oct 27 04:07:03 2022 +1300

    Update DistSQL documents (#21772)
    
    * Update DistSQL documents
    
    * Update DistSQL documents
---
 .../reference/distsql/syntax/ral/hint/_index.cn.md |  8 +++
 .../reference/distsql/syntax/ral/hint/_index.en.md |  8 +++
 .../hint/add-sharding-hint-database-value.cn.md    | 39 ++++++++++++++
 .../hint/add-sharding-hint-database-value.en.md    | 40 +++++++++++++++
 .../ral/hint/add-sharding-hint-table-value.cn.md   | 39 ++++++++++++++
 .../ral/hint/add-sharding-hint-table-value.en.md   | 40 +++++++++++++++
 .../distsql/syntax/ral/hint/clear-hint.cn.md       | 47 +++++++++++++++++
 .../distsql/syntax/ral/hint/clear-hint.en.md       | 47 +++++++++++++++++
 .../hint/set-readwrite-spitting-hint-source.cn.md  | 36 +++++++++++++
 .../hint/set-readwrite-spitting-hint-source.en.md  | 37 +++++++++++++
 .../hint/set-sharding-hint-database-value.cn.md    | 33 ++++++++++++
 .../hint/set-sharding-hint-database-value.en.md    | 34 ++++++++++++
 .../distsql/syntax/ral/hint/show-hint-status.cn.md | 38 ++++++++++++++
 .../distsql/syntax/ral/hint/show-hint-status.en.md | 41 +++++++++++++++
 .../sharding/create-sharding-algorithm.cn.md       | 55 --------------------
 .../sharding/create-sharding-algorithm.en.md       | 55 --------------------
 .../create-sharding-binding-table-rule.cn.md       | 55 --------------------
 .../create-sharding-binding-table-rule.en.md       | 60 ----------------------
 .../sharding/create-sharding-key-generator.cn.md   | 50 ------------------
 .../sharding/create-sharding-key-generator.en.md   | 51 ------------------
 .../create-sharding-table-reference-rule.cn.md     | 55 ++++++++++++++++++++
 .../create-sharding-table-reference-rule.en.md     | 60 ++++++++++++++++++++++
 .../alter-default-single-table-rule.cn.md          | 41 ---------------
 .../alter-default-single-table-rule.en.md          | 41 ---------------
 .../create-default-single-table-rule.cn.md         | 41 ---------------
 .../create-default-single-table-rule.en.md         | 41 ---------------
 .../drop-default-single-table-rule.cn.md           | 34 ------------
 .../drop-default-single-table-rule.en.md           | 35 -------------
 .../set-default-single-table-storage-unit.cn.md    | 47 +++++++++++++++++
 .../set-default-single-table-storage-unit.en.md    | 48 +++++++++++++++++
 30 files changed, 697 insertions(+), 559 deletions(-)

diff --git a/docs/document/content/reference/distsql/syntax/ral/hint/_index.cn.md b/docs/document/content/reference/distsql/syntax/ral/hint/_index.cn.md
new file mode 100644
index 00000000000..179ff75fe46
--- /dev/null
+++ b/docs/document/content/reference/distsql/syntax/ral/hint/_index.cn.md
@@ -0,0 +1,8 @@
++++
+title = "强制路由"
+weight = 1
+chapter = true
+
++++
+
+本章节将对强制路由功能的语法进行详细说明。
diff --git a/docs/document/content/reference/distsql/syntax/ral/hint/_index.en.md b/docs/document/content/reference/distsql/syntax/ral/hint/_index.en.md
new file mode 100644
index 00000000000..e78278f24ae
--- /dev/null
+++ b/docs/document/content/reference/distsql/syntax/ral/hint/_index.en.md
@@ -0,0 +1,8 @@
++++
+title = "HINT"
+weight = 1
+chapter = true
+
++++
+
+This chapter describes the syntax of Hint.
diff --git a/docs/document/content/reference/distsql/syntax/ral/hint/add-sharding-hint-database-value.cn.md b/docs/document/content/reference/distsql/syntax/ral/hint/add-sharding-hint-database-value.cn.md
new file mode 100644
index 00000000000..ce1a8c24b26
--- /dev/null
+++ b/docs/document/content/reference/distsql/syntax/ral/hint/add-sharding-hint-database-value.cn.md
@@ -0,0 +1,39 @@
++++
+title = "ADD SHARDING HINT DATABASE_VALUE"
+weight = 4
++++
+
+### 描述
+
+`ADD SHARDING HINT DATABASE_VALUE` 语法用于针对当前连接,为指定表添加数据库分片值
+### 语法
+
+```sql
+AddShardingHintDatabaseValue ::=
+  'ADD' 'SHARDING' 'HINT' 'DATABASE_VALUE' shardingHintDatabaseValueDefination
+  
+  shardingHintDatabaseValueDefination ::=
+    tableName '=' databaseShardingValue
+
+  tableName ::=
+    identifier
+
+  databaseShardingValue ::=
+    int
+```
+
+### 示例
+
+- 为指定表添加数据库分片值
+
+```sql
+ADD SHARDING HINT DATABASE_VALUE t_order = 100;
+```
+
+### 保留字
+
+`ADD`、`SHARDING`、`HINT`、`DATABASE_VALUE`
+
+### 相关链接
+
+- [保留字](/cn/reference/distsql/syntax/reserved-word/)
\ No newline at end of file
diff --git a/docs/document/content/reference/distsql/syntax/ral/hint/add-sharding-hint-database-value.en.md b/docs/document/content/reference/distsql/syntax/ral/hint/add-sharding-hint-database-value.en.md
new file mode 100644
index 00000000000..6b20e99201f
--- /dev/null
+++ b/docs/document/content/reference/distsql/syntax/ral/hint/add-sharding-hint-database-value.en.md
@@ -0,0 +1,40 @@
++++
+title = "ADD SHARDING HINT DATABASE_VALUE"
+weight = 3
++++
+
+### Description
+
+The `ADD SHARDING HINT DATABASE_VALUE` syntax is used to add sharding database value to specified table for current connection.
+
+### Syntax
+
+```sql
+AddShardingHintDatabaseValue ::=
+  'ADD' 'SHARDING' 'HINT' 'DATABASE_VALUE' shardingHintDatabaseValueDefination
+  
+  shardingHintDatabaseValueDefination ::=
+    tableName '=' databaseShardingValue
+
+  tableName ::=
+    identifier
+
+  databaseShardingValue ::=
+    int
+```
+
+### Example
+
+- Add the database sharding value for specified table
+
+```sql
+ADD SHARDING HINT DATABASE_VALUE t_order = 100;
+```
+
+### Reserved word
+
+`ADD`, `SHARDING`, `HINT`, `DATABASE_VALUE`
+
+### Related links
+
+- [Reserved word](/en/reference/distsql/syntax/reserved-word/)
diff --git a/docs/document/content/reference/distsql/syntax/ral/hint/add-sharding-hint-table-value.cn.md b/docs/document/content/reference/distsql/syntax/ral/hint/add-sharding-hint-table-value.cn.md
new file mode 100644
index 00000000000..afb2037cbdb
--- /dev/null
+++ b/docs/document/content/reference/distsql/syntax/ral/hint/add-sharding-hint-table-value.cn.md
@@ -0,0 +1,39 @@
++++
+title = "ADD SHARDING HINT TABLE_VALUE"
+weight = 5
++++
+
+### 描述
+
+`ADD SHARDING HINT TABLE_VALUE` 语法用于针对当前连接,为指定表添加表分片值
+### 语法
+
+```sql
+AddShardingHintDatabaseValue ::=
+  'ADD' 'SHARDING' 'HINT' 'TABLE_VALUE' shardingHintTableValueDefination
+  
+  shardingHintTableValueDefination ::=
+    tableName '=' tableShardingValue
+
+  tableName ::=
+    identifier
+
+  tableShardingValue ::=
+    int
+```
+
+### 示例
+
+- 为指定表添加表分片值
+
+```sql
+ADD SHARDING HINT TABLE_VALUE t_order = 100;
+```
+
+### 保留字
+
+`ADD`、`SHARDING`、`HINT`、`TABLE_VALUE`
+
+### 相关链接
+
+- [保留字](/cn/reference/distsql/syntax/reserved-word/)
\ No newline at end of file
diff --git a/docs/document/content/reference/distsql/syntax/ral/hint/add-sharding-hint-table-value.en.md b/docs/document/content/reference/distsql/syntax/ral/hint/add-sharding-hint-table-value.en.md
new file mode 100644
index 00000000000..d692738be6e
--- /dev/null
+++ b/docs/document/content/reference/distsql/syntax/ral/hint/add-sharding-hint-table-value.en.md
@@ -0,0 +1,40 @@
++++
+title = "ADD SHARDING HINT TABLE_VALUE"
+weight = 5
++++
+
+### Description
+
+The `ADD SHARDING HINT TABLE_VALUE` syntax is used to add table sharding value to specified table for current connection.
+
+### Syntax
+
+```sql
+AddShardingHintDatabaseValue ::=
+  'ADD' 'SHARDING' 'HINT' 'TABLE_VALUE' shardingHintTableValueDefination
+  
+  shardingHintTableValueDefination ::=
+    tableName '=' tableShardingValue
+
+  tableName ::=
+    identifier
+
+  tableShardingValue ::=
+    int
+```
+
+### Example
+
+- Add the table sharding value for specified table
+
+```sql
+ADD SHARDING HINT TABLE_VALUE t_order = 100;
+```
+
+### Reserved word
+
+`ADD`, `SHARDING`, `HINT`, `TABLE_VALUE`
+
+### Related links
+
+- [Reserved word](/en/reference/distsql/syntax/reserved-word/)
diff --git a/docs/document/content/reference/distsql/syntax/ral/hint/clear-hint.cn.md b/docs/document/content/reference/distsql/syntax/ral/hint/clear-hint.cn.md
new file mode 100644
index 00000000000..4446d3134b3
--- /dev/null
+++ b/docs/document/content/reference/distsql/syntax/ral/hint/clear-hint.cn.md
@@ -0,0 +1,47 @@
++++
+title = "CLEAR HINT"
+weight = 6
++++
+
+### 描述
+
+`CLEAR HINT` 语法用于针对当前连接,清除 hint 设置
+
+### 语法
+
+```sql
+ClearHint ::=
+  'CLEAR' ('SHARDING'|'READWRITE_SPLITTING')? 'HINT' 
+```
+
+### 补充说明
+
+- 未指定 `SHARDING` / `READWRITE_SPLITTING` 时,默认清除所有 hint 设置
+
+### 示例
+
+- 清除 `SHARDING` 的 hint 设置
+
+```sql
+CLEAR SHARDING HINT;
+```
+
+- 清除 `READWRITE_SPLITTING` 的 hint 设置
+
+```sql
+CLEAR READWRITE_SPLITTING HINT;
+```
+
+- 清除所有 hint 设置
+
+```sql
+CLEAR HINT;
+```
+
+### 保留字
+
+`CLEAR`、`SHARDING`、`READWRITE_SPLITTING`、`HINT`
+
+### 相关链接
+
+- [保留字](/cn/reference/distsql/syntax/reserved-word/)
\ No newline at end of file
diff --git a/docs/document/content/reference/distsql/syntax/ral/hint/clear-hint.en.md b/docs/document/content/reference/distsql/syntax/ral/hint/clear-hint.en.md
new file mode 100644
index 00000000000..60c1eecabc8
--- /dev/null
+++ b/docs/document/content/reference/distsql/syntax/ral/hint/clear-hint.en.md
@@ -0,0 +1,47 @@
++++
+title = "CLEAR HINT"
+weight = 6
++++
+
+### Description
+
+The `CLEAR HINT` syntax is used to clear hint settings for current connection.
+
+### Syntax
+
+```sql
+ClearHint ::=
+  'CLEAR' ('SHARDING'|'READWRITE_SPLITTING')? 'HINT' 
+```
+
+### Supplement
+
+- When `SHARDING`/`READWRITE_SPLITTING` is not specified, the default is clear all hint settings.
+
+### Example
+
+- Clear hint settings of sharding
+
+```sql
+CLEAR SHARDING HINT;
+```
+
+- Clear hint settings of readwrite splitting
+
+```sql
+CLEAR READWRITE_SPLITTING HINT;
+```
+
+- Clear all hint settings
+
+```sql
+CLEAR HINT;
+```
+
+### Reserved word
+
+`CLEAR`, `SHARDING`, `READWRITE_SPLITTING`, `HINT`
+
+### Related links
+
+- [Reserved word](/en/reference/distsql/syntax/reserved-word/)
diff --git a/docs/document/content/reference/distsql/syntax/ral/hint/set-readwrite-spitting-hint-source.cn.md b/docs/document/content/reference/distsql/syntax/ral/hint/set-readwrite-spitting-hint-source.cn.md
new file mode 100644
index 00000000000..47b045501a0
--- /dev/null
+++ b/docs/document/content/reference/distsql/syntax/ral/hint/set-readwrite-spitting-hint-source.cn.md
@@ -0,0 +1,36 @@
++++
+title = "SET READWRITE_SPLITTING HINT SOURCE"
+weight = 2
++++
+
+### 描述
+
+`SET READWRITE_SPLITTING HINT SOURCE` 语法用于针对当前连接,设置读写分离的路由策略(自动路由或强制到写库)
+### 语法
+
+```sql
+SetReadwriteSplittingHintSource ::=
+  'SET' 'READWRITE_SPLITTING' 'HINT' 'SOURCE' '='('auto'|'write')
+```
+
+### 示例
+
+- 设置读写分离的路由策略为 auto
+
+```sql
+SET READWRITE_SPLITTING HINT SOURCE = auto;
+```
+
+- 设置读写分离的路由策略为 write
+
+```sql
+SET READWRITE_SPLITTING HINT SOURCE = write;
+```
+
+### 保留字
+
+`SET`、`READWRITE_SPLITTING`、`HINT`、`SOURCE`
+
+### 相关链接
+
+- [保留字](/cn/reference/distsql/syntax/reserved-word/)
\ No newline at end of file
diff --git a/docs/document/content/reference/distsql/syntax/ral/hint/set-readwrite-spitting-hint-source.en.md b/docs/document/content/reference/distsql/syntax/ral/hint/set-readwrite-spitting-hint-source.en.md
new file mode 100644
index 00000000000..31e69a668b1
--- /dev/null
+++ b/docs/document/content/reference/distsql/syntax/ral/hint/set-readwrite-spitting-hint-source.en.md
@@ -0,0 +1,37 @@
++++
+title = "SET READWRITE_SPLITTING HINT SOURCE"
+weight = 2
++++
+
+### Description
+
+The `SET READWRITE_SPLITTING HINT SOURCE` syntax is used to set readwrite splitting routing strategy for current connection.
+
+### Syntax
+
+```sql
+SetReadwriteSplittingHintSource ::=
+  'SET' 'READWRITE_SPLITTING' 'HINT' 'SOURCE' '='('auto'|'write')
+```
+
+### Example
+
+- Set the read-write splitting routing strategy to auto
+
+```sql
+SET READWRITE_SPLITTING HINT SOURCE = auto;
+```
+
+- Set the read-write splitting routing strategy to write
+
+```sql
+SET READWRITE_SPLITTING HINT SOURCE = write;
+```
+
+### Reserved word
+
+`SET`, `READWRITE_SPLITTING`, `HINT`, `SOURCE`
+
+### Related links
+
+- [Reserved word](/en/reference/distsql/syntax/reserved-word/)
diff --git a/docs/document/content/reference/distsql/syntax/ral/hint/set-sharding-hint-database-value.cn.md b/docs/document/content/reference/distsql/syntax/ral/hint/set-sharding-hint-database-value.cn.md
new file mode 100644
index 00000000000..34b62c718cd
--- /dev/null
+++ b/docs/document/content/reference/distsql/syntax/ral/hint/set-sharding-hint-database-value.cn.md
@@ -0,0 +1,33 @@
++++
+title = "SET SHARDING HINT DATABASE_VALUE"
+weight = 3
++++
+
+### 描述
+
+`SET SHARDING HINT DATABASE_VALUE` 语法用于针对当前连接,设置 hint 仅对数据库分片有效,并添加分片值
+### 语法
+
+```sql
+SetShardingHintDatabaseValue ::=
+  'SET' 'SHARDING' 'HINT' 'DATABASE_VALUE' '=' databaseShardingValue
+
+  databaseShardingValue ::=
+    int
+```
+
+### 示例
+
+- 设置数据库分片值
+
+```sql
+SET SHARDING HINT DATABASE_VALUE = 100;
+```
+
+### 保留字
+
+`SET`、`SHARDING`、`HINT`、`DATABASE_VALUE`
+
+### 相关链接
+
+- [保留字](/cn/reference/distsql/syntax/reserved-word/)
\ No newline at end of file
diff --git a/docs/document/content/reference/distsql/syntax/ral/hint/set-sharding-hint-database-value.en.md b/docs/document/content/reference/distsql/syntax/ral/hint/set-sharding-hint-database-value.en.md
new file mode 100644
index 00000000000..a5f6d87e7a4
--- /dev/null
+++ b/docs/document/content/reference/distsql/syntax/ral/hint/set-sharding-hint-database-value.en.md
@@ -0,0 +1,34 @@
++++
+title = "SET SHARDING HINT DATABASE_VALUE"
+weight = 3
++++
+
+### Description
+
+The `SET SHARDING HINT DATABASE_VALUE` syntax is used to set sharding value for database sharding only for current connection.
+
+### Syntax
+
+```sql
+SetShardingHintDatabaseValue ::=
+  'SET' 'SHARDING' 'HINT' 'DATABASE_VALUE' '=' databaseShardingValue
+
+  databaseShardingValue ::=
+    int
+```
+
+### Example
+
+- Set the sharding database value
+
+```sql
+SET SHARDING HINT DATABASE_VALUE = 100;
+```
+
+### Reserved word
+
+`SET`, `SHARDING`, `HINT`, `DATABASE_VALUE`
+
+### Related links
+
+- [Reserved word](/en/reference/distsql/syntax/reserved-word/)
diff --git a/docs/document/content/reference/distsql/syntax/ral/hint/show-hint-status.cn.md b/docs/document/content/reference/distsql/syntax/ral/hint/show-hint-status.cn.md
new file mode 100644
index 00000000000..c611b758542
--- /dev/null
+++ b/docs/document/content/reference/distsql/syntax/ral/hint/show-hint-status.cn.md
@@ -0,0 +1,38 @@
++++
+title = "SHOW HINT STATUS"
+weight = 7
+
++++
+
+### 描述
+
+`SHOW HINT STATUS` 语法用于针对当前连接,查询 hint 设置
+
+### 语法
+
+```sql
+ShowHintStatus ::=
+  'SHOW' ('SHARDING'|'READWRITE_SPLITTING') 'HINT' 'STATUS'
+```
+
+### 示例
+
+- 查询 `SHARDING` 的 hint 设置
+
+```sql
+SHOW SHARDING HINT STATUS;
+```
+
+- 查询 `READWRITE_SPLITTING` 的 hint 设置
+
+```sql
+SHOW READWRITE_SPLITTING HINT STATUS;
+```
+
+### 保留字
+
+`SHOW`、`SHARDING`、`READWRITE_SPLITTING`、`HINT`、`STATUS`
+
+### 相关链接
+
+- [保留字](/cn/reference/distsql/syntax/reserved-word/)
\ No newline at end of file
diff --git a/docs/document/content/reference/distsql/syntax/ral/hint/show-hint-status.en.md b/docs/document/content/reference/distsql/syntax/ral/hint/show-hint-status.en.md
new file mode 100644
index 00000000000..bb855812894
--- /dev/null
+++ b/docs/document/content/reference/distsql/syntax/ral/hint/show-hint-status.en.md
@@ -0,0 +1,41 @@
++++
+title = "SHOW HINT STATUS"
+weight = 6
++++
+
+### Description
+
+The `SHOW HINT STATUS` syntax is used to query hint settings for current connection.
+
+### Syntax
+
+```sql
+ShowHintStatus ::=
+  'SHOW' ('SHARDING'|'READWRITE_SPLITTING') 'HINT' 'STATUS'
+```
+
+### Supplement
+
+- When `SHARDING`/`READWRITE_SPLITTING` is not specified, the default is clear all hint settings.
+
+### Example
+
+- Query hint settings of sharding
+
+```sql
+SHOW SHARDING HINT STATUS;
+```
+
+- Query hint settings of readwrite splitting
+
+```sql
+SHOW READWRITE_SPLITTING HINT STATUS;
+```
+
+### Reserved word
+
+`SHOW`, `SHARDING`, `READWRITE_SPLITTING`, `HINT`, `STATUS`
+
+### Related links
+
+- [Reserved word](/en/reference/distsql/syntax/reserved-word/)
diff --git a/docs/document/content/reference/distsql/syntax/rdl/rule-definition/sharding/create-sharding-algorithm.cn.md b/docs/document/content/reference/distsql/syntax/rdl/rule-definition/sharding/create-sharding-algorithm.cn.md
deleted file mode 100644
index 995576b061c..00000000000
--- a/docs/document/content/reference/distsql/syntax/rdl/rule-definition/sharding/create-sharding-algorithm.cn.md
+++ /dev/null
@@ -1,55 +0,0 @@
-+++
-title = "CREATE SHARDING ALGORITHM"
-weight = 4
-+++
-
-## 描述
-
-`CREATE SHARDING ALGORITHM` 语法用于为当前所选的逻辑库添加分片算法
-
-### 语法定义
-
-```sql
-CreateShardingAlgorithm ::=
-  'CREATE' 'SHARDING' 'ALGORITHM' shardingAlgorithmName '(' algorithmDefinition ')'
-
-algorithmDefinition ::=
-  'TYPE' '(' 'NAME' '=' algorithmType ( ',' 'PROPERTIES'  '(' propertyDefinition  ')' )?')'  
-
-propertyDefinition ::=
-  ( key  '=' value ) ( ',' key  '=' value )*
-
-shardingAlgorithmName ::=
-  identifier
-  
-algorithmType ::=
-  string
-```
-
-### 补充说明
-
-- `algorithmType` 为分片算法类型,详细的分片算法类型信息请参考[分片算法](/cn/user-manual/common-config/builtin-algorithm/sharding/)。
-
-### 示例
-
-#### 1.创建分片算法
-
-```SQL
--- 创建类型为 INLINE 的分片算法
-CREATE SHARDING ALGORITHM inline_algorithm (
-    TYPE(NAME="inline", PROPERTIES("algorithm-expression"="t_order_${user_id % 2}"))
-);
-
--- 创建类型为 AUTO_INTERVAL 的分片算法
-CREATE SHARDING ALGORITHM interval_algorithm (
-    TYPE(NAME="auto_interval", PROPERTIES("datetime-lower"="2022-01-01 00:00:00", "datetime-upper"="2022-01-03 00:00:00", "sharding-seconds"="86400"))
-);
-```
-
-### 保留字
-
-`CREATE`、`SHARDING`、`ALGORITHM`、`TYPE`、`NAME`、`PROPERTIES`
-
-### 相关链接
-
-- [保留字](/cn/reference/distsql/syntax/reserved-word/)
diff --git a/docs/document/content/reference/distsql/syntax/rdl/rule-definition/sharding/create-sharding-algorithm.en.md b/docs/document/content/reference/distsql/syntax/rdl/rule-definition/sharding/create-sharding-algorithm.en.md
deleted file mode 100644
index d20325d38b2..00000000000
--- a/docs/document/content/reference/distsql/syntax/rdl/rule-definition/sharding/create-sharding-algorithm.en.md
+++ /dev/null
@@ -1,55 +0,0 @@
-+++
-title = "CREATE SHARDING ALGORITHM"
-weight = 4
-+++
-
-## Description
-
-The `CREATE SHARDING ALGORITHM` syntax is used to create a sharding algorithm for the currently selected database.
-
-### Syntax
-
-```sql
-CreateShardingAlgorithm ::=
-  'CREATE' 'SHARDING' 'ALGORITHM' shardingAlgorithmName '(' algorithmDefinition ')'
-
-algorithmDefinition ::=
-  'TYPE' '(' 'NAME' '=' algorithmType ( ',' 'PROPERTIES'  '(' propertyDefinition  ')' )?')'  
-
-propertyDefinition ::=
-  ( key  '=' value ) ( ',' key  '=' value )*
-
-shardingAlgorithmName ::=
-  identifier
-  
-algorithmType ::=
-  string
-```
-
-### Supplement
-
-- `algorithmType` is the sharding algorithm type. For detailed sharding algorithm type information, please refer to [Sharding Algorithm](/en/user-manual/common-config/builtin-algorithm/sharding/).
-
-### Example
-
-#### 1.Create sharding algorithms
-
-```SQL
--- create a sharding algorithm of type INLINE
-CREATE SHARDING ALGORITHM inline_algorithm (
-    TYPE(NAME="inline", PROPERTIES("algorithm-expression"="t_order_${user_id % 2}"))
-);
-
--- create a sharding algorithm of type AUTO_INTERVAL
-CREATE SHARDING ALGORITHM interval_algorithm (
-    TYPE(NAME="auto_interval", PROPERTIES("datetime-lower"="2022-01-01 00:00:00", "datetime-upper"="2022-01-03 00:00:00", "sharding-seconds"="86400"))
-);
-```
-
-### Reserved word
-
-`CREATE`, `SHARDING`, `ALGORITHM`, `TYPE`, `NAME`, `PROPERTIES`
-
-### Related links
-
-- [Reserved word](/en/reference/distsql/syntax/reserved-word/)
diff --git a/docs/document/content/reference/distsql/syntax/rdl/rule-definition/sharding/create-sharding-binding-table-rule.cn.md b/docs/document/content/reference/distsql/syntax/rdl/rule-definition/sharding/create-sharding-binding-table-rule.cn.md
deleted file mode 100644
index afe3899539d..00000000000
--- a/docs/document/content/reference/distsql/syntax/rdl/rule-definition/sharding/create-sharding-binding-table-rule.cn.md
+++ /dev/null
@@ -1,55 +0,0 @@
-+++
-title = "CREATE SHARDING BINDING TABLE RULE"
-weight = 6
-+++
-
-## 描述
-
-`CREATE SHARDING BINDING TABLE RULE` 语法用于为具有分片规则的表(分片表)添加绑定关系并创建绑定规则
-
-### 语法定义
-
-```sql
-CreateBindingTableRule ::=
-  'CREATE' 'SHARDING' 'BINDING' 'TABLE' 'RULES'  bindingRelationshipDefinition  (',' bindingRelationshipDefinition )*
-
-bindingRelationshipDefinition ::=
-  '(' tableName (',' tableName)* ')'
-
-tableName ::=
-  identifier
-```
-
-### 补充说明
-
-- 只有分片表才能创建绑定关系;
-- 一个分片表只能具有一个绑定关系;
-- 添加绑定关系的分片表需要使用相同的资源,并且分片节点个数相同。例如 `ds_${0..1}.t_order_${0..1}` 与 `ds_${0..1}.t_order_item_${0..1}`;
-- 添加绑定关系的分片表需要对分片键使用相同的分片算法。例如 `t_order_${order_id % 2}` 与 `t_order_item_${order_item_id % 2}`;
-- 只能存在一个绑定规则,但可包含多个绑定关系,因此无法重复执行 `CREATE SHARDING BINDING TABLE RULE`。
-  当绑定规则已经存在但还需要添加绑定关系时,需要使用 `ALTER SHARDING BINDING TABLE RULE` 来修改绑定规则。
-
-### 示例
-
-#### 1.创建绑定关系
-
-```sql
--- 创建绑定关系之前需要先创建分片表 t_order,t_order_item
-CREATE SHARDING BINDING TABLE RULES (t_order,t_order_item);
-```
-
-#### 2.创建多个绑定关系
-
-```sql
--- 创建绑定关系之前需要先创建分片表 t_order,t_order_item,t_product,t_product_item
-CREATE SHARDING BINDING TABLE RULES (t_order,t_order_item),(t_product,t_product_item);
-```
-
-### 保留字
-
-`CREATE`、`SHARDING`、`BINDING`、`TABLE`、`RULES`
-
-### 相关链接
-
-- [保留字](/cn/reference/distsql/syntax/reserved-word/)
-- [CREATE SHARDING TABLE RULE](/cn/reference/distsql/syntax/rdl/rule-definition/create-sharding-table-rule/)
diff --git a/docs/document/content/reference/distsql/syntax/rdl/rule-definition/sharding/create-sharding-binding-table-rule.en.md b/docs/document/content/reference/distsql/syntax/rdl/rule-definition/sharding/create-sharding-binding-table-rule.en.md
deleted file mode 100644
index bc28e24aae3..00000000000
--- a/docs/document/content/reference/distsql/syntax/rdl/rule-definition/sharding/create-sharding-binding-table-rule.en.md
+++ /dev/null
@@ -1,60 +0,0 @@
-+++
-title = "CREATE SHARDING BINDING TABLE RULE"
-weight = 6
-+++
-
-## Description
-
-The `CREATE SHARDING BINDING TABLE RULE` syntax is used to add binding relationships and create binding table rules for
-tables with sharding table rules
-
-### Syntax
-
-```sql
-CreateBindingTableRule ::=
-  'CREATE' 'SHARDING' 'BINDING' 'TABLE' 'RULES'  bindingTableDefinition  (',' bindingTableDefinition )*
-
-bindingTableDefinition ::=
-  '(' tableName (',' tableName)* ')'
-
-tableName ::=
-  identifier
-```
-
-### Supplement
-
-- Creating binding relationships rules can only use sharding tables;
-- A sharding table can only have one binding relationships;
-- The sharding table for creating binding relationships needs to use the same resources and the same actual tables. For
-  example `ds_${0..1}.t_order_${0..1}` 与 `ds_${0..1}.t_order_item_${0..1}`;
-- The sharding table for creating binding relationships needs to use the same sharding algorithm for the sharding
-  column. For example `t_order_{order_id % 2}` and `t_order_item_{order_item_id % 2}`;
-- Only one binding rule can exist, but can contain multiple binding relationships, so can not
-  execute `CREATE SHARDING BINDING TABLE RULE` more than one time. When a binding table rule already exists but a
-  binding relationship needs to be added, you need to use `ALTER SHARDING BINDING TABLE RULE` to modify the binding
-  table.
-
-### Example
-
-#### 1.Create a binding table rule
-
-```sql
--- Before creating a binding table rule, you need to create sharding table rules t_order, t_order_item
-CREATE SHARDING BINDING TABLE RULES (t_order,t_order_item);
-```
-
-#### 2.Create multiple binding table rules
-
-```sql
--- Before creating binding table rules, you need to create sharding table rules t_order, t_order_item, t_product, t_product_item
-CREATE SHARDING BINDING TABLE RULES (t_order,t_order_item),(t_product,t_product_item);
-```
-
-### Reserved word
-
-`CREATE`, `SHARDING`, `BINDING`, `TABLE`, `RULES`
-
-### Related links
-
-- [Reserved word](/en/reference/distsql/syntax/reserved-word/)
-- [CREATE SHARDING TABLE RULE](/en/reference/distsql/syntax/rdl/rule-definition/create-sharding-table-rule/)
diff --git a/docs/document/content/reference/distsql/syntax/rdl/rule-definition/sharding/create-sharding-key-generator.cn.md b/docs/document/content/reference/distsql/syntax/rdl/rule-definition/sharding/create-sharding-key-generator.cn.md
deleted file mode 100644
index 7dd8ea54d6b..00000000000
--- a/docs/document/content/reference/distsql/syntax/rdl/rule-definition/sharding/create-sharding-key-generator.cn.md
+++ /dev/null
@@ -1,50 +0,0 @@
-+++
-title = "CREATE SHARDING KEY GENERATOR"
-weight = 8
-+++
-
-## 描述
-
-`CREATE SHARDING KEY GENERATOR` 语法用于为当前所选的逻辑库添加分布式主键生成器
-
-### 语法定义
-
-```sql
-CreateShardingAlgorithm ::=
-  'CREATE' 'SHARDING' 'KEY' 'GENERATOR' keyGeneratorName '(' algorithmDefinition ')'
-
-algorithmDefinition ::=
-  'TYPE' '(' 'NAME' '=' algorithmType ( ',' 'PROPERTIES'  '(' propertyDefinition  ')' )?')'  
-
-propertyDefinition ::=
-  ( key  '=' value ) ( ',' key  '=' value )*
-
-keyGeneratorName ::=
-  identifier
-  
-algorithmType ::=
-  string
-```
-
-### 补充说明
-
-- `algorithmType`
-  为分布式主键生成算法类型,详细的分布式主键生成算法类型信息请参考[分布式序列算法类型](/cn/user-manual/shardingsphere-jdbc/builtin-algorithm/keygen/)。
-
-### 示例
-
-#### 创建分布式主键生成器
-
-```sql
-CREATE SHARDING KEY GENERATOR snowflake_key_generator (
-    TYPE(NAME="SNOWFLAKE", PROPERTIES("max-vibration-offset"="3"))
-);
-```
-
-### 保留字
-
-`CREATE`、`SHARDING`、`KEY`、`GENERATOR`、`TYPE`、`NAME`、`PROPERTIES`
-
-### 相关链接
-
-- [保留字](/cn/reference/distsql/syntax/reserved-word/)
diff --git a/docs/document/content/reference/distsql/syntax/rdl/rule-definition/sharding/create-sharding-key-generator.en.md b/docs/document/content/reference/distsql/syntax/rdl/rule-definition/sharding/create-sharding-key-generator.en.md
deleted file mode 100644
index 9536f49d4cf..00000000000
--- a/docs/document/content/reference/distsql/syntax/rdl/rule-definition/sharding/create-sharding-key-generator.en.md
+++ /dev/null
@@ -1,51 +0,0 @@
-+++
-title = "CREATE SHARDING KEY GENERATOR"
-weight = 8
-+++
-
-## Description
-
-The `CREATE SHARDING KEY GENERATOR` syntax is used to add a distributed primary key generator for the currently selected
-logic database
-
-### Syntax
-
-```sql
-CreateShardingAlgorithm ::=
-  'CREATE' 'SHARDING' 'KEY' 'GENERATOR' keyGeneratorName '(' algorithmDefinition ')'
-
-algorithmDefinition ::=
-  'TYPE' '(' 'NAME' '=' algorithmType ( ',' 'PROPERTIES'  '(' propertyDefinition  ')' )?')'  
-
-propertyDefinition ::=
-  ( key  '=' value ) ( ',' key  '=' value )*
-
-keyGeneratorName ::=
-  identifier
-  
-algorithmType ::=
-  string
-```
-
-### Supplement
-
-- `algorithmType` is the key generate algorithm type. For detailed key generate algorithm type information, please refer
-  to [KEY GENERATE ALGORITHM](/en/user-manual/shardingsphere-jdbc/builtin-algorithm/keygen/).
-
-### Example
-
-#### Create a distributed primary key generator
-
-```sql
-CREATE SHARDING KEY GENERATOR snowflake_key_generator (
-    TYPE(NAME="SNOWFLAKE", PROPERTIES("max-vibration-offset"="3"))
-);
-```
-
-### Reserved word
-
-`CREATE`, `SHARDING`, `KEY`, `GENERATOR`, `TYPE`, `NAME`, `PROPERTIES`
-
-### Related links
-
-- [Reserved word](/en/reference/distsql/syntax/reserved-word/)
diff --git a/docs/document/content/reference/distsql/syntax/rdl/rule-definition/sharding/create-sharding-table-reference-rule.cn.md b/docs/document/content/reference/distsql/syntax/rdl/rule-definition/sharding/create-sharding-table-reference-rule.cn.md
new file mode 100644
index 00000000000..6b8f82911fd
--- /dev/null
+++ b/docs/document/content/reference/distsql/syntax/rdl/rule-definition/sharding/create-sharding-table-reference-rule.cn.md
@@ -0,0 +1,55 @@
++++
+title = "CREATE SHARDING TABLE REFERENCE RULE"
+weight = 6
++++
+
+## 描述
+
+`CREATE SHARDING TABLE REFERENCE RULE` 语法用于为具有分片规则的表(分片表)添加关联关系并创建关联规则
+
+### 语法定义
+
+```sql
+CreateShardingTableReferenceRule ::=
+  'CREATE' 'SHARDING' 'TABLE' 'REFERENCE' 'RULE'  referenceRelationshipDefinition  (',' referenceRelationshipDefinition )*
+
+referenceRelationshipDefinition ::=
+  '(' tableName (',' tableName)* ')'
+
+tableName ::=
+  identifier
+```
+
+### 补充说明
+
+- 只有分片表才能创建关联关系;
+- 一个分片表只能具有一个关联关系;
+- 添加关联关系的分片表需要使用相同的存储单元,并且分片节点个数相同。例如 `su_${0..1}.t_order_${0..1}` 与 `su_${0..1}.t_order_item_${0..1}`;
+- 添加关联关系的分片表需要对分片键使用相同的分片算法。例如 `t_order_${order_id % 2}` 与 `t_order_item_${order_item_id % 2}`;
+- 只能存在一个关联规则,但可包含多个关联关系,因此无法重复执行 `CREATE SHARDING TABLE REFERENCE RULE`。
+  当关联规则已经存在但还需要添加关联关系时,需要使用 `ALTER SHARDING TABLE REFERENCE RULE` 来修改关联规则。
+
+### 示例
+
+#### 1.创建关联关系
+
+```sql
+-- 创建关联关系之前需要先创建分片表 t_order,t_order_item
+CREATE SHARDING TABLE REFERENCE RULES (t_order,t_order_item);
+```
+
+#### 2.创建多个关联关系
+
+```sql
+-- 创建关联关系之前需要先创建分片表 t_order,t_order_item,t_product,t_product_item
+CREATE SHARDING TABLE REFERENCE RULES (t_order,t_order_item),(t_product,t_product_item);
+```
+
+### 保留字
+
+`CREATE`、`SHARDING`、`TABLE`、`REFERENCE`、`RULES`
+
+### 相关链接
+
+- [保留字](/cn/reference/distsql/syntax/reserved-word/)
+- [CREATE SHARDING TABLE RULE](/cn/reference/distsql/syntax/rdl/rule-definition/create-sharding-table-rule/)
diff --git a/docs/document/content/reference/distsql/syntax/rdl/rule-definition/sharding/create-sharding-table-reference-rule.en.md b/docs/document/content/reference/distsql/syntax/rdl/rule-definition/sharding/create-sharding-table-reference-rule.en.md
new file mode 100644
index 00000000000..1b650a90811
--- /dev/null
+++ b/docs/document/content/reference/distsql/syntax/rdl/rule-definition/sharding/create-sharding-table-reference-rule.en.md
@@ -0,0 +1,60 @@
++++
+title = "CREATE SHARDING TABLE REFERENCE RULE"
+weight = 6
++++
+
+## Description
+
+The `CREATE SHARDING TABLE REFERENCE RULE` syntax is used to add reference relationships and create reference table rules for
+tables with sharding table rules
+
+### Syntax
+
+```sql
+CreateShardingTableReferenceRule ::=
+  'CREATE' 'SHARDING' 'TABLE' 'REFERENCE' 'RULE'  referenceRelationshipDefinition  (',' referenceRelationshipDefinition )*
+
+referenceRelationshipDefinition ::=
+  '(' tableName (',' tableName)* ')'
+
+tableName ::=
+  identifier
+```
+
+### Supplement
+
+- Creating reference relationships rules can only use sharding tables;
+- A sharding table can only have one reference relationships;
+- The sharding table for creating reference relationships needs to use the same storage unit and the same actual tables. For
+  example `su_${0..1}.t_order_${0..1}` 与 `su_${0..1}.t_order_item_${0..1}`;
+- The sharding table for creating reference relationships needs to use the same sharding algorithm for the sharding
+  column. For example `t_order_{order_id % 2}` and `t_order_item_{order_item_id % 2}`;
+- Only one reference rule can exist, but can contain multiple reference relationships, so can not
+  execute `CREATE SHARDING TABLE REFERENCE RULE` more than one time. When a reference table rule already exists but a
+  reference relationship needs to be added, you need to use `ALTER SHARDING TABLE REFERENCE RULE` to modify the reference
+  table.
+
+### Example
+
+#### 1.Create a reference table rule
+
+```sql
+-- Before creating a reference table rule, you need to create sharding table rules t_order, t_order_item
+CREATE SHARDING TABLE REFERENCE RULES (t_order,t_order_item);
+```
+
+#### 2.Create multiple reference table rules
+
+```sql
+-- Before creating reference table rules, you need to create sharding table rules t_order, t_order_item, t_product, t_product_item
+CREATE SHARDING TABLE REFERENCE RULES (t_order,t_order_item),(t_product,t_product_item);
+```
+
+### Reserved word
+
+`CREATE`, `SHARDING`, `TABLE`, `REFERENCE`, `RULES`
+
+### Related links
+
+- [Reserved word](/en/reference/distsql/syntax/reserved-word/)
+- [CREATE SHARDING TABLE RULE](/en/reference/distsql/syntax/rdl/rule-definition/create-sharding-table-rule/)
diff --git a/docs/document/content/reference/distsql/syntax/rdl/rule-definition/single-table/alter-default-single-table-rule.cn.md b/docs/document/content/reference/distsql/syntax/rdl/rule-definition/single-table/alter-default-single-table-rule.cn.md
deleted file mode 100644
index 8fa2ec210fa..00000000000
--- a/docs/document/content/reference/distsql/syntax/rdl/rule-definition/single-table/alter-default-single-table-rule.cn.md
+++ /dev/null
@@ -1,41 +0,0 @@
-+++
-title = "ALTER DEFAULT SINGLE TABLE RULE"
-weight = 2
-+++
-
-## 描述
-
-`ALTER DEFAULT SINGLE TABLE RULE` 语法用于修改默认的单表规则
-
-### 语法定义
-
-```sql
-AlterDefaultSingleTableRule ::=
-  'ALTER' 'DEFAULT' 'SINGLE' 'TABLE' 'RULE' singleTableDefinition
-
-singleTableDefinition ::=
-  'RESOURCE' '=' resourceName
-
-resourceName ::=
-  identifier
-```
-
-### 补充说明
-
-- `RESOURCE` 需使用 RDL 管理的数据源资源。
-
-### 示例
-
-#### 修改默认单表规则
-
-```sql
-ALTER DEFAULT SINGLE TABLE RULE RESOURCE = ds_0;
-```
-
-### 保留字
-
-`ALTER`、`SHARDING`、`SINGLE`、`TABLE`、`RULE`、`RESOURCE`
-
-### 相关链接
-
-- [保留字](/cn/reference/distsql/syntax/reserved-word/)
\ No newline at end of file
diff --git a/docs/document/content/reference/distsql/syntax/rdl/rule-definition/single-table/alter-default-single-table-rule.en.md b/docs/document/content/reference/distsql/syntax/rdl/rule-definition/single-table/alter-default-single-table-rule.en.md
deleted file mode 100644
index 62cb452f0de..00000000000
--- a/docs/document/content/reference/distsql/syntax/rdl/rule-definition/single-table/alter-default-single-table-rule.en.md
+++ /dev/null
@@ -1,41 +0,0 @@
-+++
-title = "ALTER DEFAULT SINGLE TABLE RULE"
-weight = 2
-+++
-
-## Description
-
-The `ALTER DEFAULT SINGLE TABLE RULE` syntax is used to alter a default single table rule.
-
-### Syntax
-
-```sql
-AlterDefaultSingleTableRule ::=
-  'ALTER' 'DEFAULT' 'SINGLE' 'TABLE' 'RULE' singleTableDefinition
-
-singleTableDefinition ::=
-  'RESOURCE' '=' resourceName
-
-resourceName ::=
-  identifier
-```
-
-### Supplement
-
-- `RESOURCE` needs to use data source resource managed by RDL.
-
-### Example
-
-#### Alter a default single table rule
-
-```sql
-ALTER DEFAULT SINGLE TABLE RULE RESOURCE = ds_0;
-```
-
-### Reserved word
-
-`ALTER`, `SHARDING`, `SINGLE`, `TABLE`, `RULE`, `RESOURCE`
-
-### Related links
-
-- [Reserved word](/en/reference/distsql/syntax/reserved-word/)
diff --git a/docs/document/content/reference/distsql/syntax/rdl/rule-definition/single-table/create-default-single-table-rule.cn.md b/docs/document/content/reference/distsql/syntax/rdl/rule-definition/single-table/create-default-single-table-rule.cn.md
deleted file mode 100644
index edf3e75ad41..00000000000
--- a/docs/document/content/reference/distsql/syntax/rdl/rule-definition/single-table/create-default-single-table-rule.cn.md
+++ /dev/null
@@ -1,41 +0,0 @@
-+++
-title = "CREATE DEFAULT SINGLE TABLE RULE"
-weight = 2
-+++
-
-## 描述
-
-`CREATE DEFAULT SINGLE TABLE RULE` 语法用于创建默认的单表规则
-
-### 语法定义
-
-```sql
-CreateDefaultSingleTableRule ::=
-  'CREATE' 'DEFAULT' 'SINGLE' 'TABLE' 'RULE' singleTableDefinition
-
-singleTableDefinition ::=
-  'RESOURCE' '=' resourceName
-
-resourceName ::=
-  identifier
-```
-
-### 补充说明
-
-- `RESOURCE` 需使用 RDL 管理的数据源资源。
-
-### 示例
-
-#### 创建默认单表规则
-
-```sql
-CREATE DEFAULT SINGLE TABLE RULE RESOURCE = ds_0;
-```
-
-### 保留字
-
-`CREATE`、`SHARDING`、`SINGLE`、`TABLE`、`RULE`、`RESOURCE`
-
-### 相关链接
-
-- [保留字](/cn/reference/distsql/syntax/reserved-word/)
\ No newline at end of file
diff --git a/docs/document/content/reference/distsql/syntax/rdl/rule-definition/single-table/create-default-single-table-rule.en.md b/docs/document/content/reference/distsql/syntax/rdl/rule-definition/single-table/create-default-single-table-rule.en.md
deleted file mode 100644
index 9be0c2abeec..00000000000
--- a/docs/document/content/reference/distsql/syntax/rdl/rule-definition/single-table/create-default-single-table-rule.en.md
+++ /dev/null
@@ -1,41 +0,0 @@
-+++
-title = "CREATE DEFAULT SINGLE TABLE RULE"
-weight = 2
-+++
-
-## Description
-
-The `CREATE DEFAULT SINGLE TABLE RULE` syntax is used to create a default single table rule.
-
-### Syntax
-
-```sql
-CreateDefaultSingleTableRule ::=
-  'CREATE' 'DEFAULT' 'SINGLE' 'TABLE' 'RULE' singleTableDefinition
-
-singleTableDefinition ::=
-  'RESOURCE' '=' resourceName
-
-resourceName ::=
-  identifier
-```
-
-### Supplement
-
-- `RESOURCE` needs to use data source resource managed by RDL.
-
-### Example
-
-#### Create a default single table rule
-
-```sql
-CREATE DEFAULT SINGLE TABLE RULE RESOURCE = ds_0;
-```
-
-### Reserved word
-
-`CREATE`, `SHARDING`, `SINGLE`, `TABLE`, `RULE`, `RESOURCE`
-
-### Related links
-
-- [Reserved word](/en/reference/distsql/syntax/reserved-word/)
diff --git a/docs/document/content/reference/distsql/syntax/rdl/rule-definition/single-table/drop-default-single-table-rule.cn.md b/docs/document/content/reference/distsql/syntax/rdl/rule-definition/single-table/drop-default-single-table-rule.cn.md
deleted file mode 100644
index 8a28c1a599b..00000000000
--- a/docs/document/content/reference/distsql/syntax/rdl/rule-definition/single-table/drop-default-single-table-rule.cn.md
+++ /dev/null
@@ -1,34 +0,0 @@
-+++
-title = "DROP DEFAULT SINGLE TABLE RULE"
-weight = 2
-+++
-
-## 描述
-
-`DROP DEFAULT SINGLE TABLE RULE` 语法用于删除默认的单表规则
-
-### 语法定义
-
-```sql
-DropDefaultSingleTableRule ::=
-  'DROP' 'DEFAULT' 'SINGLE' 'TABLE' 'RULE' ifExists?
-
-ifExists ::=
-  'IF' 'EXISTS'
-```
-
-### 示例
-
-#### 删除默认单表规则
-
-```sql
-DROP DEFAULT SINGLE TABLE RULE;
-```
-
-### 保留字
-
-`DROP`、`SHARDING`、`SINGLE`、`TABLE`、`RULE`
-
-### 相关链接
-
-- [保留字](/cn/reference/distsql/syntax/reserved-word/)
\ No newline at end of file
diff --git a/docs/document/content/reference/distsql/syntax/rdl/rule-definition/single-table/drop-default-single-table-rule.en.md b/docs/document/content/reference/distsql/syntax/rdl/rule-definition/single-table/drop-default-single-table-rule.en.md
deleted file mode 100644
index 69d33212454..00000000000
--- a/docs/document/content/reference/distsql/syntax/rdl/rule-definition/single-table/drop-default-single-table-rule.en.md
+++ /dev/null
@@ -1,35 +0,0 @@
-+++
-title = "DROP DEFAULT SINGLE TABLE RULE"
-weight = 2
-+++
-
-## Description
-
-The `DROP DEFAULT SINGLE TABLE RULE` syntax is used to drop a default single table rule.
-
-### Syntax
-
-```sql
-DropDefaultSingleTableRule ::=
-  'DROP' 'DEFAULT' 'SINGLE' 'TABLE' 'RULE' ifExists?
-
-ifExists ::=
-  'IF' 'EXISTS'
-```
-
-
-### Example
-
-#### drop a default single table rule
-
-```sql
-DROP DEFAULT SINGLE TABLE RULE;
-```
-
-### Reserved word
-
-`DROP`, `SHARDING`, `SINGLE`, `TABLE`, `RULE`
-
-### Related links
-
-- [Reserved word](/en/reference/distsql/syntax/reserved-word/)
diff --git a/docs/document/content/reference/distsql/syntax/rdl/rule-definition/single-table/set-default-single-table-storage-unit.cn.md b/docs/document/content/reference/distsql/syntax/rdl/rule-definition/single-table/set-default-single-table-storage-unit.cn.md
new file mode 100644
index 00000000000..860c5f8ed4f
--- /dev/null
+++ b/docs/document/content/reference/distsql/syntax/rdl/rule-definition/single-table/set-default-single-table-storage-unit.cn.md
@@ -0,0 +1,47 @@
++++
+title = "SET DEFAULT SINGLE TABLE STORAGE UNIT"
+weight = 2
++++
+
+## 描述
+
+`SET DEFAULT SINGLE TABLE STORAGE UNIT` 语法用于设置默认的单表存储单元
+
+### 语法定义
+
+```sql
+SetDefaultSingleTableStorageUnit ::=
+  'SET' 'DEFAULT' 'SINGLE' 'TABLE' 'STORAGE' 'UNIT' singleTableDefinition
+
+singleTableDefinition ::=
+  '=' (storageUnitName | 'RANDOM')
+
+storageUnitName ::=
+  identifier
+```
+
+### 补充说明
+
+- `STORAGE UNIT` 需使用 RDL 管理的存储单元。 `RANDOM` 代表随机储存
+
+### 示例
+
+- 设置默认的单表存储单元
+
+```sql
+SET DEFAULT SINGLE TABLE STORAGE UNIT = su_0;
+```
+
+- 设置默认的单表存储单元为随机储存
+
+```sql
+SET DEFAULT SINGLE TABLE STORAGE UNIT = RANDOM;
+```
+
+### 保留字
+
+`SET`、`DEFAULT`、`SINGLE`、`TABLE`、`STORAGE`、`UNIT`、`RANDOM`
+
+### 相关链接
+
+- [保留字](/cn/reference/distsql/syntax/reserved-word/)
\ No newline at end of file
diff --git a/docs/document/content/reference/distsql/syntax/rdl/rule-definition/single-table/set-default-single-table-storage-unit.en.md b/docs/document/content/reference/distsql/syntax/rdl/rule-definition/single-table/set-default-single-table-storage-unit.en.md
new file mode 100644
index 00000000000..d0a2bb39a81
--- /dev/null
+++ b/docs/document/content/reference/distsql/syntax/rdl/rule-definition/single-table/set-default-single-table-storage-unit.en.md
@@ -0,0 +1,48 @@
++++
+title = "SET DEFAULT SINGLE TABLE STORAGE UNIT"
+weight = 2
++++
+
+## Description
+
+The `SET DEFAULT SINGLE TABLE STORAGE UNIT` syntax is used to set default single table storage unit.
+
+### Syntax
+
+```sql
+SetDefaultSingleTableStorageUnit ::=
+  'SET' 'DEFAULT' 'SINGLE' 'TABLE' 'STORAGE' 'UNIT' singleTableDefinition
+
+singleTableDefinition ::=
+  '=' (storageUnitName | 'RANDOM')
+
+storageUnitName ::=
+  identifier
+```
+
+### Supplement
+
+- `STORAGE UNIT` needs to use storage unit managed by RDL. The `RANDOM` keyword stands for random storage.
+
+
+### Example
+
+- Set a default single table storage unit
+
+```sql
+SET DEFAULT SINGLE TABLE STORAGE UNIT = su_0;
+```
+
+- Set the default single table storage unit to random storage
+
+```sql
+SET DEFAULT SINGLE TABLE STORAGE UNIT = RANDOM;
+```
+
+### Reserved word
+
+`SET`, `DEFAULT`, `SINGLE`, `TABLE`, `STORAGE`, `UNIT`, `RANDOM`
+
+### Related links
+
+- [Reserved word](/en/reference/distsql/syntax/reserved-word/)