# Online Ddl In Tidb
```7
mysql> ADMIN SHOW DDL JOBS;
+--------+---------+-------------------------+--------------+----------------------+-----------+----------+-----------+---------------------+---------------------+---------+
| JOB_ID | DB_NAME | TABLE_NAME              | JOB_TYPE     | SCHEMA_STATE         | SCHEMA_ID | TABLE_ID | ROW_COUNT | START_TIME          | END_TIME            | STATE   |
+--------+---------+-------------------------+--------------+----------------------+-----------+----------+-----------+---------------------+---------------------+---------+
|     48 | test    | t1                      | add index    | write reorganization |         1 |       45 |    587775 | 2021-09-16 23:41:49 | NULL                | running |
|     49 | test    | t1                      | add index    | none                 |         1 |       45 |         0 | 2021-09-16 23:41:52 | NULL                | none    |
|     47 | test    | t1                      | add index    | public               |         1 |       45 |   2560000 | 2021-09-16 23:37:29 | 2021-09-16 23:39:44 | synced  |
|     46 | test    | t1                      | create table | public               |         1 |       45 |         0 | 2021-09-16 14:31:17 | 2021-09-16 14:31:17 | synced  |
|     44 | mysql   | opt_rule_blacklist      | create table | public               |         3 |       43 |         0 | 2021-09-16 14:30:26 | 2021-09-16 14:30:26 | synced  |
|     42 | mysql   | expr_pushdown_blacklist | create table | public               |         3 |       41 |         0 | 2021-09-16 14:30:26 | 2021-09-16 14:30:26 | synced  |
|     40 | mysql   | stats_top_n             | create table | public               |         3 |       39 |         0 | 2021-09-16 14:30:26 | 2021-09-16 14:30:26 | synced  |
|     38 | mysql   | bind_info               | create table | public               |         3 |       37 |         0 | 2021-09-16 14:30:26 | 2021-09-16 14:30:26 | synced  |
|     36 | mysql   | default_roles           | create table | public               |         3 |       35 |         0 | 2021-09-16 14:30:26 | 2021-09-16 14:30:26 | synced  |
|     34 | mysql   | role_edges              | create table | public               |         3 |       33 |         0 | 2021-09-16 14:30:26 | 2021-09-16 14:30:26 | synced  |
|     32 | mysql   | stats_feedback          | create table | public               |         3 |       31 |         0 | 2021-09-16 14:30:26 | 2021-09-16 14:30:26 | synced  |
|     30 | mysql   | gc_delete_range_done    | create table | public               |         3 |       29 |         0 | 2021-09-16 14:30:26 | 2021-09-16 14:30:26 | synced  |
+--------+---------+-------------------------+--------------+----------------------+-----------+----------+-----------+---------------------+---------------------+---------+
12 rows in set (0.06 sec)
```
------------------------------------------------------------
 
As business requirements continue to change, DDL operations on table objects in a production environment are unavoidable.
Adding an index in a normal relational database often carries the risk of taking too long, locking tables, etc., especially when you add an index on a table with frequently updated data, which becomes significant and unmanageable. TiDB's DDL implement Google F1's online asynchronous schema change algorithm to complete unlockable, online schema changes in distributed scenario.

For online ddl, we have the following rules:
- There can only be at most one online DDL of type ADD INDEX
- In addition to online DDL of type ADD INDEX, an online DDL of type other than ADD INDEX can be executed in parallel
