23. STATISTICS
23. STATISTICS
STATISTICS
表提供有关表索引的信息。
STATISTICS
表有以下列:
- TABLE_CATALOG:包含索引的表所属的目录的名称。该值始终为def。
- TABLE_SCHEMA :包含索引的表所属的schema(数据库)的名称。
- TABLE_NAME :包含索引的表的名称
- NON_UNIQUE :如果索引不能包含重复项,则为0;如果可以,则为1。
- INDEX_SCHEMA :索引所属的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)。 在为使用多字节字符集的非二进制字符串列指定前缀长度时,请考虑这一点。有关索引前缀的其他信息,请参见“列索引”和“CREATE INDEX语法”。
- PACKED :指示密钥的打包方式。如果不是,则为NULL。
- NULLABLE :如果列可能包含NULL值,则包含YES,否则包含”。
- INDEX_TYPE :使用的索引方法(BTREE,FULLTEXT,HASH,RTREE)。
- COMMENT :有关未在其自己的列中描述的索引的信息,例如在禁用索引时disabled。
- INDEX_COMMENT:在创建索引时为索引提供的任何注释都带有COMMENT属性。
Notes
不是标准的INFORMATION_SCHEMA表。 MySQL列 列表类似于SQL Server 2000为sp_statistics返回的内容,除了QUALIFIER和OWNER分别替换为CATALOG和SCHEMA。
mysql> select * from information_schema.statistics where table_name='account' and table_schema='test';
+---------------+--------------+------------+------------+--------------+------------+--------------+-------------+-----------+-------------+----------+--------+----------+------------+---------+---------------+
| TABLE_CATALOG | TABLE_SCHEMA | TABLE_NAME | NON_UNIQUE | INDEX_SCHEMA | INDEX_NAME | SEQ_IN_INDEX | COLUMN_NAME | COLLATION | CARDINALITY | SUB_PART | PACKED | NULLABLE | INDEX_TYPE | COMMENT | INDEX_COMMENT |
+---------------+--------------+------------+------------+--------------+------------+--------------+-------------+-----------+-------------+----------+--------+----------+------------+---------+---------------+
| def | test | account | 1 | test | idx_id | 1 | id | A | 2 | NULL | NULL | YES | BTREE | | |
+---------------+--------------+------------+------------+--------------+------------+--------------+-------------+-----------+-------------+----------+--------+----------+------------+---------+---------------+
1 row in set (0.00 sec)
mysql> show index from account from test;
+---------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment |
+---------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| account | 1 | idx_id | 1 | id | A | 2 | NULL | NULL | YES | BTREE | | |
+---------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
1 row in set (0.00 sec)