零基础学数据库索引,B树

在这里感谢鲁班学院-周瑜老师,图灵学院周瑜老师,我的相关知识都是再B站上,观看有关视频学到的;

  • 为什么要使用索引?
    • 进行数据库查询时,需要把数据从磁盘加载内存,由于程序的局部性原理,所以数据加载时不上一条一条加载,而是一页一页加载;
    • 一页大小是16K,也就可以加载好多数据,使用链表将其连接,而数据越多链表越长,查询效率越低,所以就需要构建页内索引,来提高查询效率;
    • 当然要加载的数据可能不止一页,那么想要根据带查询的数据直接定位到页,也就需要构建页间索引;层层构建索引,而最外层的索引页就是数据索引;学过数据结构的同学可能会恍然发现这是一棵B+树;
    • 下图便是一个数据索引实例,从下往上看:每页有两条数据 且页间有指针构连接,上一级便是页索引,再上一级便是“页索引”页的索引;
      在这里插入图片描述
    • 细心的同学可能会发现在最底层的页中,没有我说的业内索引;其实是使用了数据本身(数据索引键作为页内索引(key),其他字段作为索引内容(value)),我们将这种索引和数据聚集在一起的索引形式称为聚集性索引
    • 而非聚集性索引是下面这个样子的: 在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值