老男孩教育专注IT教育10余年,只培养IT技术精英

全国免费咨询电话(渠道合作):400-609-2893

Mysql的索引是什么?Mysql学习

老男孩IT教育

常见问题

2021年6月17日 11:06

提到Mysql,大家都知道是数据库,最基本的操作就是增删改查,有很多小伙伴觉得学会这些Mysql就算学完了,并不是,无论哪个技术,都有复杂的东西,只不过我们自动忽视了而已,对于一些复杂的查询,比如嵌套查询、关联表查询等等,很多小伙伴就看不太懂,或者需要较长时间去理解,所以学无止境,本期为大家带来Mysql索引的一些问题:

       提到Mysql,大家都知道是数据库,最基本的操作就是增删改查,有很多小伙伴觉得学会这些Mysql就算学完了,并不是,无论哪个技术,都有复杂的东西,只不过我们自动忽视了而已,对于一些复杂的查询,比如嵌套查询、关联表查询等等,很多小伙伴就看不太懂,或者需要较长时间去理解,所以学无止境,本期为大家带来Mysql索引的一些问题:

       Mysql

       索引是什么?为什么要建立索引?

       这是很多小白都关注的问题,通俗来讲,索引相当于一本书的目录,有了目录,我们寻找所需要的目标时,是不是效率会很高?索引也是同样的,使用它可以快速找出某列的某行,如果不适用它,Mysql就只能从第一条记录开始慢慢找,对于一些简单的表来说,影响不太大,但对于几万甚至更高的数据表来说,如果查询速度慢,是很影响用户体验的。

       索引的优缺点有哪些?

       凡事都有双面性,有优点自然也会有缺点,索引同样也是。

       优点:所有的字段都可以添加索引,使用较方便,能够加快数据的查询速度,增强用户体验度。

       缺点:创建和维护索引需要大量时间,随着数据量的增大,所耗费的时间也会增长,索引也需要占用一定的空间,在对数据表中的数据进行增删改时,索引也需要进行维护。

       通过上面说到的优点和缺点,大家可以看出,并不是每个字段都必须要加上索引,索引也不是设置的越多就越好,也就是要有个度。

       索引的使用场景有哪些?

       那么什么情况下用索引合适呢?这也是有选择性的。

       ·对于经常更新的表,就要避免过多的索引,但对于经常查询的字段,就可以创建索引。

       ·数据量不大的表,可以不适用索引,因为本身数据量较少,所以不会太影响查询速度,但如果这个时候添加了索引,就有些画蛇添足了,意思就是索引不会起到太大的优化效果,创建与否作用不大。

       索引都分为哪些?

       索引也是分类的,也有不同的存储引擎,比如Myisam、InnoDB,也就是常说的BTREE,它只支持BTREE索引,不能更换。

       MEMORY和HEAP存储引擎,支持HASH和BTREE索引。

       索引分为单列索引(普通索引、唯一索引、主键索引)、组合索引、全文索引等等。

       单列索引:顾名思义,一个索引只包含一个列,但一个表中可以有多个单列索引。 

       ·普通索引:MySQL中基本索引类型,允许在定义索引的列中插入重复值和空值,为了查询速度更快些。

       ·唯一索引:索引列的值必须是唯一的,允许为空。

       ·主键索引:与唯一索引相反,允许为空。

       组合索引:为表中多个字段添加索引,但需遵从左前缀原则。

       全文索引:只有在MyISAM引擎中才能使用,比如在一堆数据中,通过某个关键字,就能找到该字段的记录行。

       细分还有很多很多,有想要学习MYSQL技术的小伙伴们,欢迎来老男孩教育,我们专注于培养互联网技术人才,讲课老师有着多年的技术经验,分为线上、线下班,小伙伴们可以根据自身情况进行选择,欢迎大家来试听免费课~

       推荐阅读:

       Mysql如何修改root用户密码?Mysql数据库

       Unicode和UTF-8有什么区别?

       如何速记Linux命令?零基础掌握

本文经授权发布,不代表老男孩教育立场。如若转载请联系原作者。