SHOW INDEX语法用于查看指定表的索引信息,包括索引类型、索引构建进度、索引列等,方便您查询表的索引结构。同时,在删除二级索引和搜索索引前您可以通过SHOW INDEX语法来查看索引是否已被禁用。

适用引擎

SHOW INDEX语法仅适用于宽表引擎。

语法

show_index_statement     ::= SHOW INDEX FROM table_identifier;   

返回结果集说明

字段

说明

TABLE_SCHEMA

目标表所属的数据库。

DATA_TABLE

目标表名。

INDEX_NAME

索引名称。

INDEX_STATE

索引状态。取值如下:

  • BUILDING:索引正在构建中。

  • ACTIVE:针对存量数据的索引构建已完成,增量数据持续同步构建中。

  • INACTIVE:索引构建失败。

  • DISABLED:索引已被禁用。

INDEX_PROGRESS

索引数据构建的情况。不同索引种类的展示方法如下。

  • 二级索引:显示创建的各个阶段。

    • NOT_STARTED:表示该任务还未提交。

    • WAITING:表示该任务已提交,还未开始执行。

    • EXECUTING:表示该任务正在运行,显示实时进度百分比,格式为xx.xx%

    • FAILED:表示该任务失败,同时打印错误信息,只显示错误信息前256个字符。

    • CANCELLED:表示该任务已取消。

    重要

    仅宽表引擎2.6.7以上版本支持。如何查看或升级当前版本,请参见宽表引擎版本说明升级小版本。如果您无法通过控制台升级至2.6.7以上版本,请联系Lindorm技术支持(钉钉号:s0s3eg3)。

  • 搜索索引:不支持显示构建进度。固定显示N/A。​

    说明

    搜索索引的构建进度查看方法:在LTS页面左侧导航栏选择Lindorm Search > 全量同步,查看State参数的值。

  • 列存索引:

    • INDEX_STATE取值为ACTIVE时,表示数据同步最新进度,即当前展示时间之前的数据已经全部同步到列存索引之中,该时间是宽表数据写入时间。

    • INDEX_STATE取值为INACTIVE时,显示构建失败原因。

    • INDEX_STATE取值为BUILDING时,显示为空。

INDEX_TYPE

索引种类。分别如下:

  • SECONDARY:二级索引。

  • SEARCH:搜索索引。

  • columar:列存索引。

INDEX_COVERED

索引是否包含冗余列。

  • 二级索引:如果包含冗余列,则返回 TRUE; 若不含冗余列,则返回 FALSE

    说明

    冗余列的更多介绍,请参见二级索引

  • 搜索索引:不支持冗余列。固定返回 NA

  • 列存索引:不支持冗余列。固定返回 N/A

INDEX_COLUMN

构成索引键的列信息。

INDEX_TTL

索引数据的有效期TTL。单位为秒(s)。

重要
  • 列存索引暂不支持设置索引数据的TTL,INDEX_TTL字段固定返回为空。

  • 未设置数据有效期TTL时,二级索引的INDEX_TTL字段返回为空,搜索索引返回为0。

INDEX_DESCRIPTION

索引的额外描述信息。

  • 二级索引:无。固定返回空。

  • 搜索索引:无。固定返回空。

  • 列存索引:包括列存索引表的所在位置、同步任务ID、分区信息、用户属性等。

示例

假设主表和索引的创建语句如下:

-- 创建主表
CREATE TABLE test (
  p1 VARCHAR NOT NULL,
  p2 INTEGER NOT NULL,
  c1 BIGINT,
  c2 DOUBLE,
  c3 VARCHAR,
  c4 TIMESTAMP,
  PRIMARY KEY(p1, p2)
) WITH (CONSISTENCY = 'strong', MUTABILITY='MUTABLE_LATEST');

-- 创建二级索引idx1
CREATE INDEX idx1 ON test(c1 desc) include(c3,c4) WITH (COMPRESSION='ZSTD');

-- 创建搜索索引idx2
CREATE INDEX IF NOT EXISTS idx2 USING SEARCH ON test(p1, p2, c1, c2, c3);

-- 创建列存索引idx3
CREATE INDEX IF NOT EXISTS idx3 USING COLUMNAR
ON test(p1, p2, c1, c2, c3)
PARTITION BY ENUMERABLE (p1, p2, bucket(128, p1, p2));

执行以下语句,查看表test中的所有索引。

SHOW INDEX FROM test;

返回结果如下:

+--------------+------------+------------+-------------+-------------------------------+------------+---------------+----------------+-----------+---------------------------------------+
| TABLE_SCHEMA | DATA_TABLE | INDEX_NAME | INDEX_STATE |        INDEX_PROGRESS         | INDEX_TYPE | INDEX_COVERED |  INDEX_COLUMN  | INDEX_TTL |           INDEX_DESCRIPTION           |
+--------------+------------+------------+-------------+-------------------------------+------------+---------------+----------------+-----------+---------------------------------------+
| hd           | test       | idx1       | ACTIVE      | 100%                          | SECONDARY  | TRUE          | c1,p1,p2       |           |                                       |
| hd           | test       | idx2       | ACTIVE      | N/A                           | SEARCH     | NA            | p1,c3,p2,c2,c1 | 0         |                                       |
| hd           | test       | idx3       | ACTIVE      | 2023-11-27 17:02:03.602 +0800 | COLUMNAR   | NA            | p1,p2,c1,c2,c3 |           | index table:                          |
|              |            |            |             |                               |            |               |                |           | __columnar_index_db__.hd_test_idx3;   |
|              |            |            |             |                               |            |               |                |           | task id:                              |
|              |            |            |             |                               |            |               |                |           | 7fcc****-46**-4f**-90**-07344ced****; |
|              |            |            |             |                               |            |               |                |           | partition by:                         |
|              |            |            |             |                               |            |               |                |           | [p1,p2,hash(128,p1,p2)]; attributes:  |
|              |            |            |             |                               |            |               |                |           | []                                    |
+--------------+------------+------------+-------------+-------------------------------+------------+---------------+----------------+-----------+---------------------------------------+