文档目录

STATISTICS

STATISTICS 表提供了关于表索引的信息。

USE information_schema;
DESC statistics;
+---------------+---------------+------+------+---------+-------+
| Field         | Type          | Null | Key  | Default | Extra |
+---------------+---------------+------+------+---------+-------+
| TABLE_CATALOG | varchar(512)  | YES  |      | NULL    |       |
| TABLE_SCHEMA  | varchar(64)   | YES  |      | NULL    |       |
| TABLE_NAME    | varchar(64)   | YES  |      | NULL    |       |
| NON_UNIQUE    | varchar(1)    | YES  |      | NULL    |       |
| INDEX_SCHEMA  | varchar(64)   | YES  |      | NULL    |       |
| INDEX_NAME    | varchar(64)   | YES  |      | NULL    |       |
| SEQ_IN_INDEX  | bigint(2)     | YES  |      | NULL    |       |
| COLUMN_NAME   | varchar(21)   | YES  |      | NULL    |       |
| COLLATION     | varchar(1)    | YES  |      | NULL    |       |
| CARDINALITY   | bigint(21)    | YES  |      | NULL    |       |
| SUB_PART      | bigint(3)     | YES  |      | NULL    |       |
| PACKED        | varchar(10)   | YES  |      | NULL    |       |
| NULLABLE      | varchar(3)    | YES  |      | NULL    |       |
| INDEX_TYPE    | varchar(16)   | YES  |      | NULL    |       |
| COMMENT       | varchar(16)   | YES  |      | NULL    |       |
| INDEX_COMMENT | varchar(1024) | YES  |      | NULL    |       |
| IS_VISIBLE    | varchar(3)    | YES  |      | NULL    |       |
| Expression    | varchar(64)   | YES  |      | NULL    |       |
+---------------+---------------+------+------+---------+-------+
18 rows in set (0.00 sec)

STATISTICS 表中列的含义如下:

  • TABLE_CATALOG:包含索引的表所属的目录的名称。这个值总是 def
  • TABLE_SCHEMA:包含索引的表所属的数据库的名称。
  • TABLE_NAME:包含索引的表的名称。
  • NON_UNIQUE:如果索引不能包含重复项,则为 0;如果可以,则为 1
  • INDEX_SCHEMA:索引所属的数据库的名称。
  • INDEX_NAME:索引的名称。如果索引是主键,那么名称总是 PRIMARY
  • SEQ_IN_INDEX:索引中的列序号,从 1 开始。
  • COLUMN_NAME:列名。请参见表达式列的说明。
  • COLLATION:列在索引中的排序方式。取值可以是 A(升序)、D(降序)或 NULL(未排序)。
  • CARDINALITY:索引中唯一值的数量的估计。要更新这个数字,执行 ANALYZE TABLE
  • SUB_PART:索引的前缀。如果只对列的部分前缀进行索引,则为索引字符的数量;如果对整个列进行索引,则为 NULL
  • PACKED:TiDB 未使用该字段。这个值总是 NULL
  • NULLABLE:如果列可能包含 NULL 值,则值为 YES;如果不包含,则值为 ''
  • INDEX_TYPE:索引的类型。
  • COMMENT:其他与索引有关的信息。
  • INDEX_COMMENT:在创建索引时为索引提供的带有注释属性的任何注释。
  • IS_VISIBLE:优化器能否使用该索引。
  • Expression 对于非表达式部分的索引键,这个值为 NULL;对于表达式部分的索引键,这个值为表达式本身。可参考表达式索引

下列语句是等价的:

SELECT * FROM INFORMATION_SCHEMA.STATISTICS
  WHERE table_name = 'tbl_name'
  AND table_schema = 'db_name'

SHOW INDEX
  FROM tbl_name
  FROM db_name