1、MYSQL系列-深入理解Mysql索引底层数据结构与算法

索引的本质

索引是帮助MySQL高效获取数据的排好序的数据结构

索引数据结构

  1. 二叉树
  2. 红黑树
  3. Hash表
  4. B+Tree

B-Tree

B-Tree 叶节点具有相同的深度,叶节点的指针为空,所有索引元素不重复,节点中的数据索引从左到右递增排列

B+Tree(B-Tree变种)

非叶子节点不存储data,只存储索引(冗余),可以放更多的索引, 叶子节点包含所有索引字段, 叶子节点用指针连接,提高区间访问的性能

Hash

对索引的key进行一次hash计算就可以定位出数据存储的位置 。很多时候Hash索引要比B+ 树索引更高效 但是仅能满足 "=","IN",不支持范围查询 hash冲突问题。

MyISAM索引文件和数据文件是分离的(非聚集)

联合索引的底层存储结构长什么样?

相关推荐
亚空间仓鼠7 分钟前
NoSQL数据库Redis(一):数据库基础
数据库·redis·nosql
weixin_5806140024 分钟前
如何防止SQL注入利用存储过程_确保存储过程不拼字符串.txt
jvm·数据库·python
james的分享24 分钟前
向量数据库之Milvus
数据库·milvus
weixin_4087177739 分钟前
mysql权限表查询性能如何优化_MySQL系统权限缓存原理
jvm·数据库·python
吕源林39 分钟前
怎么优化MongoDB的软删除设计_布尔标记与删除时间戳
jvm·数据库·python
想唱rap41 分钟前
C++智能指针
linux·jvm·数据结构·c++·mysql·ubuntu·bash
吕源林1 小时前
如何解决SQL存储过程连接泄露_确保在异常后关闭连接
jvm·数据库·python
Gofarlic_OMS1 小时前
应对MathWorks合规审查的专项准备工作
大数据·服务器·网络·数据库·人工智能
七夜zippoe1 小时前
DolphinDB SQL查询:从基础到进阶
数据库·sql·进阶·聚合·dolphindb
wq_1 小时前
Mysql-MVCC
mysql·面试