ADD INDEX

    语句用于在已有表中添加一个索引。在 TiDB 中,ADD INDEX 为在线操作,不会阻塞表中的数据读写。

    1. CREATE TABLE t1 (id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, c1 INT NOT NULL);
    1. Query OK, 0 rows affected (0.11 sec)
    1. Query OK, 5 rows affected (0.03 sec)
    2. Records: 5 Duplicates: 0 Warnings: 0
    1. EXPLAIN SELECT * FROM t1 WHERE c1 = 3;
      1. Query OK, 0 rows affected (0.30 sec)
      1. +------------------------+---------+-----------+------------------------+---------------------------------------------+
      2. | id | estRows | task | access object | operator info |
      3. +------------------------+---------+-----------+------------------------+---------------------------------------------+
      4. | IndexReader_6 | 0.01 | root | | index:IndexRangeScan_5 |
      5. | └─IndexRangeScan_5 | 0.01 | cop[tikv] | table:t1, index:c1(c1) | range:[3,3], keep order:false, stats:pseudo |
      6. 2 rows in set (0.00 sec)
      • 不支持 FULLTEXTHASHSPATIAL 索引。
      • 目前尚不支持在一条中同时添加多个索引。
      • 无法向表中添加 CLUSTERED 类型的 PRIMARY KEY。要了解关于 主键的详细信息,请参考聚簇索引