MySQL为什么选择B+树

1.hash表:不支持范围查询

2.跳表:索引层增加太快,IO成本增加太快

3.二叉树、AVL树、红黑树:树高度增加太快,IO成本增加太快

4.B树:树高增加太快;范围查询只能走中序遍历,IO成本很高

5.B+树:非叶子节点不存储数据,树高度增长慢,IO成本低;叶子节点双链表结构,范围查询成本低

用16张图就给你讲明白MySQL为什么要用B+树做索引!

相关推荐
zhangfeng11331 小时前
生物信息 R语言和 cytoscape 相互沟通的组件RCy3,构建cytoscape网络表 节点类型表 链接边的表,并推送到cytoscape
数据库·r语言·生物信息
小森( ﹡ˆoˆ﹡ )1 小时前
GPT_Data_Processing_Tutorial
数据库·gpt·mysql
krielwus2 小时前
Oracle Linux 7.8 静默安装 Oracle 11g R2 单机 ASM 详细教程
数据库·oracle
翔云1234562 小时前
向量数据库的几个核心概念
数据库
sniper_fandc2 小时前
关于Mybatis-Plus的insertOrUpdate()方法使用时的问题与解决—数值精度转化问题
java·前端·数据库·mybatisplus·主键id
lang201509282 小时前
MySQL在线DDL:零停机改表实战指南
数据库·mysql
程序新视界3 小时前
MySQL的联合索引以及其最左前缀原则
数据库·mysql
奥尔特星云大使3 小时前
mysql 全备+binlog恢复数据
数据库·mysql·adb·数据恢复·全量备份·binlog日志·二进制日志
the beard3 小时前
Redis Zset的底层秘密:跳表(Skip List)的精妙设计
数据库·redis·list
喂你撰写的故事4 小时前
timestamp存取差几小时? mysql timestamp的timezone问题以及如何在mysql2设置
mysql