Mysql

关注公众号 jb51net

关闭
首页 > 数据库 > Mysql > Mysql查看表的索引

Mysql如何查看表的索引

作者:Web3&Basketball

这篇文章主要介绍了Mysql如何查看表的索引问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

Mysql查看表的索引

MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度。

打个比方,如果合理的设计且使用索引的MySQL是一辆兰博基尼的话,那么没有设计和使用索引的MySQL就是一个人力三轮车。

拿汉语字典的目录页(索引)打比方,我们可以按拼音、笔画、偏旁部首等排序的目录(索引)快速查找到需要的字。

索引分单列索引和组合索引。单列索引,即一个索引只包含单个列,一个表可以有多个单列索引,但这不是组合索引。组合索引,即一个索引包含多个列。

创建索引时,你需要确保该索引是应用在 SQL 查询语句的条件(一般作为 WHERE 子句的条件)。

实际上,索引也是一张表,该表保存了主键与索引字段,并指向实体表的记录。

上面都在说使用索引的好处,但过多的使用索引将会造成滥用。

因此索引也会有它的缺点:虽然索引大大提高了查询速度,同时却会降低更新表的速度,如对表进行INSERT、UPDATE和DELETE。

因为更新表时,MySQL不仅要保存数据,还要保存一下索引文件。

建立索引会占用磁盘空间的索引文件。

索引优缺点

优点

1.大大加快数据的检索速度;

2.创建唯一性索引,保证数据库表中每一行数据的唯一性;

3.加速表和表之间的连接;

4.在使用分组和排序子句进行数据检索时,可以显著减少查询中分组和排序的时间。

缺点

1.索引需要占物理空间。

2.当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,降低了数据的维护速度。

查看表的索引:

show index from table_name(表名)

结果列表中各字段的含义:

如果索引不能包括重复词,则为0。

如果可以,则为1。

索引的名称。

索引中的列序列号,从1开始。

列名称。

列以什么方式存储在索引中。

在MySQL中,有值‘A’(升序)或NULL(无分类)。

索引中唯一值的数目的估计值。

通过运行ANALYZE TABLE或myisamchk -a可以更新。

基数根据被存储为整数的统计数据来计数,所以即使对于小型表,该值也没有必要是精确的。

基数越大,当进行联合时,MySQL使用该索引的机 会就越大。

如果列只是被部分地编入索引,则为被编入索引的字符的数目。

如果整列被编入索引,则为NULL。

指示关键字如何被压缩。

如果没有被压缩,则为NULL。

如果列含有NULL,则含有YES。

如果没有,则该列含有NO。

用过的索引方法(BTREE, FULLTEXT, HASH, RTREE)

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文