程序员必须了解的知识点——你搞懂mysql索引机制了吗?

这里有一个mysql数据文件,有Id和name两个列,如果我们用hash格式存储的话(hash表),我们只要计算出某一个列的hash值,把它按照按照数组的长度取一个模,就可以取到从0-7n个下标的位置,这样的话效率其实是比较高的,但是用hash表存储,它具备一定的缺点 :

  1. 利用hash存储的话需要将所有的数据文件添加到内存中,比较耗费内存空间
  2. 如果所有的查询都是等值查询,那么hash确实很快,但是在企业或者实际工作环境中范围查找的数据更多,而不是等值查询,因为hash就不太适合了,因此在mysql里面并没有选择hash存储的格式

2.2 二叉树

索引格式:

三、mysql的存储引擎

3.1 mysql innoDB (叶子节点直接放置数据)

id name
1 电脑
2 手机
3 冰箱
4 空调
5 风扇
6 彩电

3.1 mysql innoDB (叶子节点直接放置数据)

存放的是对应的行记录

3.1 mysql MyISAM

下面0X0022其实就是地址,显示根据我们的ID,找到我们的地址,然后通过地址去找到对应的表对应的数据

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年8月17日
下一篇 2020年8月17日

相关推荐