Skip to content

Commit

Permalink
mysql-schema: add description for MDL related table (#15303)
Browse files Browse the repository at this point in the history
  • Loading branch information
wjhuang2016 committed Nov 3, 2023
1 parent 0408dc5 commit 180cc50
Show file tree
Hide file tree
Showing 3 changed files with 33 additions and 3 deletions.
5 changes: 5 additions & 0 deletions mysql-schema.md
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,11 @@ aliases: ['/docs-cn/dev/system-tables/system-table-overview/','/docs-cn/dev/refe
* `tidb_runaway_watch`:Runaway Queries 的监控列表 (Watch List)
* `tidb_runaway_watch_done`:被删除或者过期的 Runaway Queries 的监控列表

## 元数据锁相关系统表

* `tidb_mdl_view`:元数据锁的视图,可以用于查看当前阻塞的 DDL 的相关信息
* `tidb_mdl_info`:TiDB 内部用于同步各节点的元数据锁的相关信息

## 其它系统表

* `GLOBAL_VARIABLES` 全局系统变量表
Expand Down
25 changes: 25 additions & 0 deletions sql-statements/sql-statement-admin.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ aliases: ['/docs-cn/dev/sql-statements/sql-statement-admin/','/docs-cn/dev/refer
- [`ADMIN PLUGIN`](#admin-plugin-语句)
- [`ADMIN ... BINDINGS`](#admin--bindings-语句)
- [`ADMIN REPAIR TABLE`](#admin-repair-table-语句)
- [`ADMIN SHOW NEXT_ROW_ID`](#admin-show-next_row_id-语句)
- [`ADMIN SHOW SLOW`](#admin-show-slow-语句)

## ADMIN 与 DDL 相关的扩展语句
Expand Down Expand Up @@ -105,6 +106,14 @@ ADMIN REPAIR TABLE tbl_name CREATE TABLE STATEMENT;

`ADMIN REPAIR TABLE tbl_name CREATE TABLE STATEMENT` 用于在极端情况下,对存储层中的表的元信息进行非可信的覆盖。“非可信”是指需要人为保证原表的元信息可以完全由 `CREATE TABLE STATEMENT` 提供。该语句需要打开配置文件项中的 [`repair-mode`](/tidb-configuration-file.md#repair-mode) 开关,并且需要确保所修复的表名在 [`repair-table-list`](/tidb-configuration-file.md#repair-table-list) 名单中。

## `ADMIN SHOW NEXT_ROW_ID` 语句

```sql
ADMIN SHOW t NEXT_ROW_ID;
```

以上语句可以查看表中某些特殊列的详情。输出结果与 [SHOW TABLE NEXT_ROW_ID](/sql-statements/sql-statement-show-table-next-rowid.md) 相同。

## `ADMIN SHOW SLOW` 语句

{{< copyable "sql" >}}
Expand Down Expand Up @@ -177,6 +186,22 @@ ADMIN SHOW DDL JOBS 5;
+--------+---------+------------+---------------------+----------------+-----------+----------+-----------+-----------------------------------+-----------------------------------+---------------+
```

执行以下命令,查看表中某些特殊列的详情。输出结果与 [SHOW TABLE NEXT_ROW_ID](/sql-statements/sql-statement-show-table-next-rowid.md) 相同。

```sql
ADMIN SHOW t NEXT_ROW_ID;
```

```sql
+---------+------------+-------------+--------------------+----------------+
| DB_NAME | TABLE_NAME | COLUMN_NAME | NEXT_GLOBAL_ROW_ID | ID_TYPE |
+---------+------------+-------------+--------------------+----------------+
| test | t | _tidb_rowid | 101 | _TIDB_ROWID |
| test | t | _tidb_rowid | 1 | AUTO_INCREMENT |
+---------+------------+-------------+--------------------+----------------+
2 rows in set (0.01 sec)
```

执行以下命令,可查看 test 数据库中未执行完成的 DDL 任务,包括正在执行中以及最近 5 条已经执行完但是执行失败的 DDL 任务。

{{< copyable "sql" >}}
Expand Down
6 changes: 3 additions & 3 deletions sql-statements/sql-statement-show-table-next-rowid.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ aliases: ['/docs-cn/dev/sql-statements/sql-statement-show-table-next-rowid/']

# SHOW TABLE NEXT_ROW_ID

`SHOW TABLE NEXT_ROW_ID` 语句用于显示用表中某些特殊列的详情,主要包含以下几种类型:
`SHOW TABLE NEXT_ROW_ID` 语句用于显示用户表中某些特殊列的详情,主要包含以下几种类型:

* TiDB 创建的 `AUTO_INCREMENT` 类型列,即 `_tidb_rowid`
* 用户创建的 `AUTO_INCREMENT` 类型列
Expand All @@ -25,7 +25,7 @@ aliases: ['/docs-cn/dev/sql-statements/sql-statement-show-table-next-rowid/']

## 示例

对于新建的表,由于没有任何的 Row ID 分配,NEXT_GLOBAL_ROW_ID 值为 1
下面示例中,对于新建的表,由于没有任何的 Row ID 分配,NEXT_GLOBAL_ROW_ID 值为 `1`

{{< copyable "sql" >}}

Expand All @@ -44,7 +44,7 @@ show table t next_row_id;
1 row in set (0.00 sec)
```

表中写入了数据,负责写入的 TiDB Server 一次性向存储层请求了 30000 个 ID 缓存起来,NEXT_GLOBAL_ROW_ID 值为 30001
下面示例中,表中写入了数据,负责写入的 TiDB Server 一次性向存储层请求了 30000 个 ID 缓存起来,NEXT_GLOBAL_ROW_ID 值为 `30001`

```sql
insert into t values (), (), ();
Expand Down

0 comments on commit 180cc50

Please sign in to comment.