mysql复合索引btree结构_干货篇:一篇文章让你——《深入解析MySQL索引原理 》...

概述

最近一段时间重新深入研究了一遍MySQL的内容,今天主要分享分析MySQL索引原理,后续会输出一些关于MySQL方面的干货,希望各位小伙伴喜欢。

一、什么是索引、为什么要建立索引?

关于索引的理解,个人更加喜欢将其比喻为字典里面的目录,根据字典来进行查询的速度远大于每一页逐个逐个字排查的速度。

索引主要用于快速找出在某个列中有特定值的行,倘若不使用索引,MySQL必须从第一条记录开始读完整个表,直到找出相关的行,表越大,查询数据所花费的时间就越多。如果表中查询的列有一个索引,MySQL能够快速到达一个位置去搜索数据,而不必查找所有数据,那么将会节省很大一部分时间。

(一)、索引的存储文件是如何的?

首先我们来看看mysql索引数据的存储位置:

mysql的数据存储是存放在mysql的data文件夹底下,截图如下所示:

查看该文件夹底下,我们通常可以看到相关的信息内容:

.frm表结构文件,和所选用的存储引擎无关。

(二)、MyISAM引擎的文件格式

1、myd 数据文件后缀

2、myi 索引文件后缀

(三)、InnoDB引擎的文件格式

1、ibd 将索引信息和数据一起存储起来

二、索引的结构是什么?为何不采用别的结构?

索引在起初做设计的时候其实是有一定数据结构选型的,对于不同的数据结构基础,我做了以下 的相关总结:

(一)、使用二叉树作为索引结构缺陷

容易导致二叉树出现结构偏移,极端情况容易变成一条链

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值