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索引文件和数据文件是分离的(非聚集)

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

相关推荐
jianghua0017 分钟前
Django视图与URLs路由详解
数据库·django·sqlite
那我掉的头发算什么8 分钟前
【Mybatis】Mybatis-plus使用介绍
服务器·数据库·后端·spring·mybatis
倔强的石头10610 分钟前
关系数据库替换用金仓:数据迁移过程中的完整性与一致性风险
数据库·kingbase
_Johnny_10 分钟前
ETCD 配额/空间告警模拟脚本
数据库·chrome·etcd
静听山水13 分钟前
StarRocks查询加速
数据库
静听山水20 分钟前
StarRocks高级特性
数据库
范纹杉想快点毕业27 分钟前
从单片机基础到程序框架:全方位技术深度解析
数据库·mongodb
晚风_END29 分钟前
Linux|操作系统|elasticdump的二进制方式部署
运维·服务器·开发语言·数据库·jenkins·数据库开发·数据库架构
devmoon30 分钟前
Polkadot SDK 自定义 Pallet Benchmark 指南:生成并接入 Weight
开发语言·网络·数据库·web3·区块链·波卡
数据知道35 分钟前
PostgreSQL 故障排查:紧急排查与 SQL 熔断处理(CPU 占用 100% 等情况)
数据库·sql·postgresql