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