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