以下的文章主要描述的是MySQL SHOW INDEX语法的实际操作用法以及其实际查看索引状态(语法)的具体内容的描述,如果你对这一技术,心存好奇的话,以下的文章将会揭开它的神秘面纱。
- SHOW INDEX FROM tbl_name [FROM db_name]
MySQL SHOW INDEX会返回表索引信息。其格式与ODBC中的SQLStatistics调用相似。
MySQL SHOW INDEX会返回以下字段:
Table
表的名称。
Non_unique
如果索引不能包括重复词,则为0。如果可以,则为1。
Key_name
索引的名称。
Seq_in_index
索引中的列序列号,从1开始。
Column_name
列名称。
Collation
列以什么方式存储在索引中。在MySQLSHOW INDEX语法中,有值’A’(升序)或NULL(无分类)。
Cardinality
索引中唯一值的数目的估计值。通过运行ANALYZE TABLE或myisamchk -a可以更新。基数根据被存储为整数的统计数据来计数,所以即使对于小型表,该值也没有必要是精确的。基数越大,当进行联合时,MySQL使用该索引的机会就越大。
Sub_part
如果列只是被部分地编入索引,则为被编入索引的字符的数目。如果整列被编入索引,则为NULL。
Packed
指示关键字如何被压缩。如果没有被压缩,则为NULL。
Null
如果列含有NULL,则含有YES。如果没有,则该列含有NO。
Index_type
用过的索引方法(BTREE, FULLTEXT, HASH, RTREE)。
Comment
多种评注。
您可以使用db_name.tbl_name作为tbl_name FROM db_name语法的另一种形式。这两个语句是等价的:
- mysql> SHOW INDEX FROM mytable FROM mydb;
- mysql> SHOW INDEX FROM mydb.mytable;
SHOW KEYS是MySQL SHOW INDEX的同义词。您也可以使用mysqlshow -k db_name tbl_name命令列举一个表的索引。
SHOW INNODB STATUS语法
- SHOW INNODB STATUS
在MySQL 5.1中,这是SHOW ENGINE INNODB STATUS的同义词,但不赞成使用。