Mysql索引

 

主键自动排序,方便查找

避免链表方式查询,mysql进行了进行了分页,每页存储16KB(InnoDB),并进行页目录(一种数据结构)管理

 页目录: 存储 每一页第一个主键的值及其指针(不存储数据)

 B B+树的区别

mysql索引的底层实现:

放入数据时,他会基于数据排序,排序之后,数据以量链表的形式以一个指针把数据链接起来,同时mysql在底层为了进一步优化,他是基于B+树的数据结构进行的存储,就是对我们的数据进行了一页一页的去存储,默认每页的大小为16KB,站在整个B+树这种数据结构上讲,,一个三层的B+树结构能存储8亿或者10亿左右的数据。站在两层B+树上来讲,查询时如果基于主键查询,最多动用一次磁盘IO,因为它顶层是常驻内存。

聚簇索引   非聚簇索引

参考:聚簇索引与非聚簇索引(JAVA后端面试知识点) - 知乎

聚簇索引:在表中指的就是主键索引,如果建表是没有建立主键索引,那么它自动生成row_id作为聚簇索引

一个表中只能有一个聚簇索引,其他都是非聚簇索引

索引mssql主键不推荐uuid,int类型的容可以排序,uuid排序困难。

 

 非聚簇索引,记录的是id(主键值),而不是数据地址,因为在 之前的输入1 3 5, 插入数2时,变为1 2 3 5 ,3 5 的在链表地址改变,如果存地址的话,插入的时候还得把非聚簇索引的地址修改一遍,存储主键值,因为主键永远不变,就不用修改(增删改时地址发生变化)

 

回表、索引覆盖

 MySQL 覆盖索引详解 - 掘金

最左匹配

索引下推

原来在server层做的计算现在放到了存储引擎层做了计算,减少了server(电脑管理开启服务那MYSQL57)层和存储引擎层的数据交互,减少了IO操作。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值