IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> ML02-MySQL的索引数据结构为啥选用B+树? -> 正文阅读

[数据结构与算法]ML02-MySQL的索引数据结构为啥选用B+树?

大家好,我是神韵,是一个技术&生活博主。据说是21天成一习惯,那么有没有一个习惯可以让你坚持一年的?我来试试!
每周5讲从2021-7-19开始,今天是2021-8-01,一轮计划是2022-7-18结束。关于文章都是定位为基础,我不敢讲的太深入,因为我怕自己没时间。欢迎来点赞打卡,你们的行动将是我无限的动力。
今日主题是:MySQL的索引数据结构为啥选用B+树?

话不多说,下面进入今天主题

B+Tree
为啥MySQL索引底层采用的是B+树,因为它具有如下几个特点

  • 层次少,检索(IO)次数少
  • 叶子节点不仅存索引也存数据
  • 叶子节点索引是有序的,递增,对范围条件查询效率高

我们在看一下其他数据结构:
1、二分查找结构
二分查找结构前提是有序,故不适合做索引

2、二叉树
二叉树虽然简单,但是可能会存在一边树的层次太多,另一边少,对于层次多的检索次数会很多,故不适合用做索引

3、平衡二叉树
与二叉树对比,层次会自动平衡,虽然解决了二叉树的单边层次问题,但是解决的不透彻,当数据量大时,整体层次依然没有得到很好的改善。

4、BTree(多路平衡数,一个节点存储多个数据)
与平衡二叉树对比,B树层次得到很好的控制,等值(=)查询时,效率特别高。但是Mysql会大量使用范围查询(<、>等),BTree对于这些查询不友好,效率特别低。故不适合做索引。

本文结束!
ps:私信我可以进群。公众号每天会有推送,欢迎关注公众号查阅。
在这里插入图片描述

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2021-08-02 11:02:29  更:2021-08-02 11:03:07 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/10 5:45:20-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码