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 TABLEALTER TABLECREATE INDEX语句中的索引规范,前缀* length *被解释为非二进制字符串类型(CHARVARCHARTEXT)的字符数和二进制字符串类型(BINARYVARBINARYBLOB)的字节数。为使用多字节字符集的非二进制字符串列指定前缀长度时,请考虑到这一点。

有关索引前缀的其他信息,请参见第 8.3.4 节“列索引”第 13.1.14 节“ CREATE INDEX 语句”

  • PACKED

指示密钥的包装方式。 NULL,如果不是。

  • NULLABLE

如果该列可能包含NULL个值,则包含YES;否则,则包含''

  • INDEX_TYPE

使用的索引方法(BTREEFULLTEXTHASHRTREE)。

  • COMMENT

关于索引的信息未在其自己的列中描述,例如disabled(如果禁用了索引)。

  • INDEX_COMMENT

创建索引时,为索引提供的具有COMMENT属性的任何 Comments。

Notes

  • 没有用于索引的标准INFORMATION_SCHEMAtable。 MySQL 列列 table 类似于 SQL Server 2000 为sp_statistics返回的内容,除了QUALIFIEROWNER分别被CATALOGSCHEMA代替。

有关 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