暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

MySQL索引初始--索引的介绍和建立

ITwords 2021-08-26
533


公众号后台回复“java学习路线”,即可免费获得java框架哦!





前言:本公众号将推出系列性的知识分享,以专题或者模块的方式,向读者分享学习体会和心得。所以想要学习的朋友可以点击关注,一起学习。


上一篇文章重点介绍了更新流程和在更新流程中的日志,同学们要重点掌握,今天的话主要介绍的是MySQL的索引。

索引的建立


建立索引:

alter table table_name add index index_name(column_name)

解释:alter 为建立所以的关键字    table 为表的关键字  table_name 为表名  add 为添加的关键字  index为索引的关键字  index_name 为索引的名称 column_name为列名

例子:ALTER TABLE student ADD INDEX index_clsId(clsId)

为student表的clsId建立一个索引值

删除索引:

alter table table_name drop index index_name

解释:alter 为建立所以的关键字    table 为表的关键字  table_name 为表名 drop为删除索引的关键字  index为索引的关键字  index_name 为索引名称

例子:ALTER TABLE student DROP INDEX index_clsId

删除student表的index_cls 索引


InnoDB的索引模型


在数据库的底层存储中常用的三种数据结构有:哈希表,有序数组,和树(二叉树或n叉树)。

InnoDB使用的是B+树模型,索引在InnoDB中国的数据都是存放在B+树当中的。

举例:在一个表中有ID主键和一个字段K,且k有索引。

    从图中不难看出,根据叶子节点的内容,索引类型分为主键索引和非主键索引。


    主键索引的叶子节点存的是整行数据。在InnoDB里,主键索引也被称为聚簇索引(clustered index)。


    非主键索引的叶子节点内容是主键的值。在InnoDB里,非主键索引也被称为二级索引(secondary index)。
    • 如果语句是select * from T where ID=500,即主键查询方式,则只需要搜索ID这棵B+树;

    • 如果语句是select * from T where k=5,即普通索引查询方式,则需要先搜索k索引树,得到ID的值为500,再到ID索引树搜索一次。这个过程称为回表。

    好了,今天的内容也是比较简单,大家要明白一点即可,那就是文章介绍的是InnoDB的索引模型,切不可弄混。


    喜欢的同学可以点击“在看”,并且关注ITwords微信公众号,第一时间获取更新内容。您的转发和点赞将是我原创的动力,感谢您的支持。


    扫描二维码

    获取更多精彩

    ITwords



    尾言:下一篇覆盖索引和最左前缀原则介绍


    往期回顾:


    文章转载自ITwords,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

    评论