mysql数据库的索引

目录

什么是索引?

索引的作用是什么?

索引的数据结构

 红黑树

 B树

 B+树

 mysql中的B+树


什么是索引?

索引:是帮助Mysql高效获取数据的一种数据结构

索引的作用是什么?

举个例子说明一个有没有索引的区别

select * from user where age =45

上面这句在执行的时候,一定是按照顺序去扫描的,效率极低,如果表中的数据非常的庞大很耗费时间

 如果数据库的age字段加上了索引,那么他现在就成了下面的形状,比如二叉树索引

索引在加快了查询速度的同时,也降低了增删改的速度,同时也增加了磁盘的开销

 一般情况下,现在的索引都是B+树索引,他也是mysql的InnoDB存储引擎的默认索引

索引的数据结构

二叉树作为索引,当顺序插入的时候就成了链表,降低了速度

 红黑树

解决了变成链表的问题,但是数据很大的时候,它的层级太深,也会使得查询的速度大打折扣

 B树

节点上可以有n个key和n+1个指针 

 B+树

我们可以发现,所有的数据的值都会出现在叶子结点,同时叶子结点形成了一条单向链表,其他节点都是作为了索引

 mysql中的B+树

它优化了传统的B+树,增加了一个指向相邻叶子节点的链表指针,就形成了有顺序的链表

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ADRU

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值