当前位置:   article > 正文

MySQL索引事务_mysql索引,事务?

mysql索引,事务?

索引

概念

1.索引是一种特殊的文件,包含着对数据表里所有记录的引用指针。可以对表中的一列或多列创建索引,并指定索引的类型,各类索引有各自的数据结构实现。
2.当从数据库中进行查找的时候,例如按照一定的条件来查找,查找可以遍历表,但是遍历操作,比较低效。就需要想尽办法的避免遍历,可以通过一些特殊的数据结构,来表示一些记录的特征,通过这些特征来减少比较次数,加快比较的效率。
索引主要的意义就是进行查找,要提高查找的效率,但是查找的效率是提高了,但同时会付出代价。

以一本书为例
1.书的目录是费纸的,数据库的索引,也需要消耗一定的额外存储空间,数据量越大,索引消耗的额外空间剧越多。
2.书的目录确定了,后序每次对书的内容进行调整,都可能会影响目录的准确性,就需要重新调整目录。数据库的索引也一样,进行增删改的时候,往往也需要同步调整索引的结构。

优缺点

索引带来的好处,提高了查找的速度
索引带来的坏处,占用了更多的空间,拖慢了增删改的速度。

既然它的缺点比优点更多,那为什么还要用它呢???
索引是一个很常用的东西。实际需求场景中,查找操作往往是最高频的操作。
例如像老师布置作业一样,每节课都要布置作业,每天都要进行查询操作,但是如果某个同学反馈某个作业不合适,就需要进行增删改,可能这些操作几周或一个月才操作一次。

使用场景

  • 数据量较大,且经常对这些列进行条件查询。
  • 该数据库表的插入操作,及对这些列的修改操作频率较低。
  • 索引会占用额外磁盘空间。
    满足以上条件时,考虑对表中的这些字段创建索引,以提高询效率。反之,如果非条件查询列,或经常做插入、修改操作,或磁盘空间不足时,不考虑创建索引。

使用

查看索引

show index from 表名;
在这里插入图片描述
查看student表的时候,发现里面已经自带了一个索引,这个自带的索引,就是primary这个主键约束带来的。

查询的时候,如果查询条件指定了根据主键查询,这个时候查询速度就会非常快。

unique 也带索引

创建索引

create index 索引名 on 表名(列名);
在这里插入图片描述

创建索引是非常低效的,尤其是当表里有很多数据的时候。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/491054
推荐阅读
相关标签