Mysql如何查看表的索引

 更新时间:2023年12月22日 16:21:47   作者: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(表名)

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

  • .Non_unique

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

如果可以,则为1。

  • .Key_name

索引的名称。

  • .Seq_in_index

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

  • .Column_name

列名称。

  • .Collation

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

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

  • .Cardinality

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

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

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

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

  • .Sub_part

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

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

  • .Packed

指示关键字如何被压缩。

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

  • .Null

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

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

  • .Index_type

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

总结

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

相关文章

  • mysql表空间结构和日志的用途详解

    mysql表空间结构和日志的用途详解

    这篇文章主要介绍了mysql表空间结构和日志的用途,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-06-06
  • my.cnf(my.ini)重要参数优化配置说明

    my.cnf(my.ini)重要参数优化配置说明

    本文针对mysql不同存储引擎,MyISAM与Innodb进行了讲解如何进行my.cnf(my.ini)的参数优化
    2018-03-03
  • MySQL生成雪花算法ID的实现示例

    MySQL生成雪花算法ID的实现示例

    本文展示了SQL实现雪花ID算法的两种方式,第一种直接计算方式通过位运算组合时间戳、机器ID和序列号;第二种创建了可复用的snowflake_id函数,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2026-05-05
  • MySQL5.6 GTID模式下同步复制报错不能跳过的解决方法

    MySQL5.6 GTID模式下同步复制报错不能跳过的解决方法

    搭建虚拟机centos6.0, mysql5.6.10主从复制,死活不同步,搞了一整天找到这篇文章终于OK了,特分享一下,需要的朋友可以参考下
    2020-04-04
  • MySQL中的数据备份与SQL语句

    MySQL中的数据备份与SQL语句

    这篇文章主要介绍了MySQL中的数据备份与SQL语句,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • MYSQL悲观锁及乐观锁方式

    MYSQL悲观锁及乐观锁方式

    MySQL支持悲观锁和乐观锁两种机制,悲观锁在执行读写操作之前先获取锁,适用于高并发场景,但可能引发性能瓶颈和死锁问题,乐观锁则通过版本号或时间戳等机制判断数据是否被修改,适用于并发冲突较少的场景
    2024-12-12
  • MySQL 一则慢日志监控误报的问题分析与解决

    MySQL 一则慢日志监控误报的问题分析与解决

    这篇文章主要介绍了MySQL 一则慢日志监控误报的问题分析与解决,帮助大家更好的理解和使用MySQL,感兴趣的朋友可以了解下
    2021-01-01
  • MySQL查看和修改最大连接数的方法步骤

    MySQL查看和修改最大连接数的方法步骤

    使用MySQL 数据库的站点,当访问连接数过多时,就会出现 "Too many connections" 的错误,所以我们需要设置MySQL查看和修改最大连接数,具有一定的参考价值,感兴趣的可以了解一下
    2023-10-10
  • MySQL prepare语句的SQL语法

    MySQL prepare语句的SQL语法

    PREPARE语句用于预备一个语句,并指定名称statement_name,以后引用该语句
    2012-01-01
  • MySQL中获取最大值MAX()函数和ORDER BY … LIMIT 1比较

    MySQL中获取最大值MAX()函数和ORDER BY … LIMIT 1比较

    mysql取最大值的的是max 和order by两种方式,同时也大多数人人为max的效率更高,在本文中,我们将介绍MySQL中MAX()和ORDER BY … LIMIT 1两种获取最大值的方法以及它们性能上的差异,同时我们将探讨这种性能差异的原因,并提供一些优化建议
    2024-03-03

最新评论