Mysql索引原理与结构

为什么需要索引?

前面给大家介绍了MySQL的一些增删改查,但是我们常用的需求就是查,既然说到了查询,那么查询的速度就很重要,当我么的数据量很大的时候我们在查询一个数据的时候就会很慢,这个时候就需要我们去引用索引。

当我们遇到一个生僻字的时候我们可能会尝试去查字典,查字典的话我们就要去翻前面的目录,找偏旁啥的,索引的作用就在于快速的让我们找到我们想要的数据。

使用索引的缺点?

我们的索引可以让我们快速的找到我们所想要的数据,当然也要付出相应的代价,我么创建索引是要付出相应的时间和空间的代价,就像我们一本书的目录,目录可以让我们快速的找到指定的章节,当然我们也是需要消耗一定的纸张的。

索引的数据结构

这是我们一棵简单的B+树,因为我们可以有很多的分支这样我们就不会因为高度过高IO次数过多而导致查询次数过慢了,虽然我们比较的次数还是不变但是我们每个节点的数据变多了,IO次数也变少了。

这里我们的最下面相当于是一个链表,这样的话当我们查找10~50的数据的话会很方便直接取到下面的两个边界就行了,此外我们所有的数据存储(负载)都是放在叶子节点上的,非叶子节点的话放key值就可以了,这样大大的节约课空间的开支。

索引的使用

在MySQL中我们可以利用相关的语句进行索引的相关操作:

查看索引:

创建索引:

删除索引:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值