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

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

相关推荐
Dnui_King1 小时前
Redis 持久化机制:AOF 与 RDB 详解
数据库·redis
jay丿1 小时前
Django 发送邮件功能详解
数据库·django·sqlite
shix .1 小时前
王者荣耀道具页面爬虫(json格式数据)
数据库·爬虫·json
A__tao1 小时前
在线 SQL 转 Flask-SQLAlchemy
数据库·sql·flask
04Koi.1 小时前
Redis--渐进式遍历
数据库·redis·缓存
王佑辉2 小时前
【mysql】查事务进程
mysql
铁打的阿秀2 小时前
navicat 创建Oracle连接报错:ora28040 没有匹配的验证协议
数据库·oracle
小杨xyyyyyyy2 小时前
Mysql - 日志相关问题
数据库·mysql·面试
IT成长日记2 小时前
【binlog2sql实践】MySQL数据库binlog日志ROW格式转换标准SQL
mysql·binlog·row·binlog2sql
交响梦3 小时前
医院信息系统平台总体架构原则
大数据·数据库·人工智能·架构·健康医疗