查询一张表的索引字段:show index from tablename
image.pngtable : 表的名称
Non_unique : 表示索引值是否可以重复,为0是不能重复,1是可以重复
Key_name : 索引名称,如果是主键的话 则为PRIMARY
Seq_in_index : 索引中序列的序列号,从1开始,如果是组合索引 那么按照字段在建立索引时的顺序排列 如 ('c1', 'c2', 'c3') 那么 分别为 1, 2, 3
Column_name : 字段名
Collation: 列以什么方式存储在索引中。A=有值、升序显示 或 NULL(无分序)
Cardinality : 索引中唯一值的数目的估计值,通过运行 ANALYZE TABLE
or myisamchk -a 来更新,基数根据被存储为整数的统计数据来计数,所以对于小表该值没必要太过于精确,而对于大数据量的表来说,改值越大当进行联合时,MySQL使用该索引的机 会就越大。
Sub_part : 索引的长度
- 部分被编入索引,该值表示索引的长度
- 整列被编入索引,该值显示为null
Packed : 指示关键字如何被压缩。如果没有被压缩,则为NULL
Null : 该列值有NULL,则为YES,否则为NO
Index_type:所用索引方法(BTREE, FULLTEXT, HASH, RTREE)
Comment:关于在其列中没有描述的索引的信息
Index_comment : 为索引创建时提供了一个注释属性的索引的任何评论
explain
用法:在select语句前加上explain
显示mysql如何使用索引来处理select语句以及连接表,可以帮助选择更好的索引和写出更优化的查询语句。
table:表名
type:显示连接使用的访问类型
从最好到最差的连接类型为const、eq_reg、ref、range、index和ALL
possible_keys:表中可能出现的索引,根据where后的字段得出,如果没写条件会显示NULL
key_len:使用的索引的长度
ref:显示索引的哪一列被使用了,如果可能的话,是一个常数
rows:MYSQL认为必须检查的用来返回请求数据的行数
Extra:额外信息
网友评论