该STATISTICS
表提供有关表索引的信息。
该STATISTICS
表有以下列:
TABLE_CATALOG
包含索引的表所属目录的名称。该值始终为
def
.TABLE_SCHEMA
包含索引的表所属的模式(数据库)的名称。
TABLE_NAME
包含索引的表的名称。
NON_UNIQUE
如果索引不能包含重复项,则为 0,如果可以,则为 1。
INDEX_SCHEMA
索引所属的模式(数据库)的名称。
INDEX_NAME
索引的名称。如果索引是主键,则名称始终是
PRIMARY
。SEQ_IN_INDEX
索引中的列序号,从 1 开始。
COLUMN_NAME
列名称。另请参阅
EXPRESSION
列的说明。COLLATION
列在索引中的排序方式。这可以具有值
A
(升序)、D
(降序)或NULL
(未排序)。CARDINALITY
索引中唯一值数量的估计。要更新此数字,请运行
ANALYZE TABLE
或(对于MyISAM
表) myisamchk -a。CARDINALITY
基于存储为整数的统计信息进行计数,因此即使对于小表,该值也不一定准确。基数越高,MySQL 在进行连接时使用索引的机会就越大。SUB_PART
索引前缀。也就是说,如果列仅被部分索引,则索引字符数,
NULL
如果整个列被索引。笔记前缀限制以字节为单位。但是,、 和语句中索引规范的前缀长度被解释为非二进制字符串类型( 、 、 )的字符数和二进制字符串类型( 、 、 ) 的 字节数。在为使用多字节字符集的非二进制字符串列指定前缀长度时,请考虑这一点。
CREATE TABLE
ALTER TABLE
CREATE INDEX
CHAR
VARCHAR
TEXT
BINARY
VARBINARY
BLOB
有关索引前缀的其他信息,请参阅 第 8.3.4 节,“列索引”和 第 13.1.13 节,“CREATE INDEX 语句”。
PACKED
指示密钥的打包方式。
NULL
如果不是。NULLABLE
YES
如果列可能包含 值NULL
,则包含,''
如果不包含。INDEX_TYPE
使用的索引方法 (
BTREE
,FULLTEXT
,HASH
,RTREE
)。COMMENT
有关未在其自己的列中描述的索引的信息,例如
disabled
索引是否被禁用。INDEX_COMMENT
COMMENT
创建索引时为具有属性的 索引提供的任何注释 。
笔记
索引没有标准
INFORMATION_SCHEMA
表。MySQL 列列表类似于 SQL Server 2000 为 返回的内容sp_statistics
,不同之处在于QUALIFIER
和OWNER
分别替换为CATALOG
和SCHEMA
。
有关表索引的信息也可从
SHOW INDEX
语句中获得。请参阅
第 13.7.5.23 节,“SHOW INDEX 语句”。以下语句是等效的:
SELECT * FROM INFORMATION_SCHEMA.STATISTICS
WHERE table_name = 'tbl_name'
AND table_schema = 'db_name'
SHOW INDEX
FROM tbl_name
FROM db_name