写点什么

深究索引:Mysql 索引模型及其不同结构优劣势

作者:知识浅谈
  • 2022 年 8 月 29 日
    吉林
  • 本文字数:669 字

    阅读完需:约 2 分钟

深究索引:Mysql索引模型及其不同结构优劣势

🍁 作者:知识浅谈,CSDN 博客专家,阿里云签约博主,InfoQ 签约博主,华为云云享专家

📌 擅长领域:全栈工程师、爬虫、ACM 算法

💒 公众号:知识浅谈

🔥 联系方式 vx:zsqtcc


深究索引:Mysql 有什么索引,索引模型是什么总结🤞这次都给他拿下🤞


正菜来了⛳⛳⛳

🎈Mysql 有什么索引,索引模型是什么总结

Mysql 常见的索引有如下几种

📐hash 结构:如果采用数组加链表的结构存储,先对字段进行 hash,找到对应的位置,查看是否有冲突,没有冲突填到对应的位置,有冲突填到对应位置的链表上。

📐红黑树结构:是一个趋于平衡的二叉树结构,其根节点和空叶节点是黑色,且根节点,到每一个叶子节点经过的黑色节点个数相同。

📐B 树结构:是一个多叉树的结构,索引和元数据存储在一起,每个节点是一个页。

📐B+树结构:是一个多叉树结构,和 B 树的区别就是元数据都存储在叶子节点,而非叶子节点存储的都是索引数据和指针数据。

🎈为什么 innodb 中选用 B+树

  1. 相比于 hash 结构,虽然在等值查询的时候 hash 会很快,但是如果数据多了 hash 冲突问题就上来了,另外 hash 也仅仅支持等值查询,不支持范围查询。

  2. 相比于红黑树结构,因为红黑树是一个趋于平衡二叉树的结构,相同的数据在 B+树上和红黑树上存储,显然红黑树的层数要高,层数高,查询的时候要经过的 IO 次数多,效率就低。

  3. 相比于 B 树结构,B+树的结构和 B 树就差在非叶子节点是否有数据,因为 B 树的非叶子节点存储有数据,则其存储的指针和索引数据就少,相同数据,其层数就高于 B+树,IO 次数多,另外,B+树叶子节点之间有双向指针,便于进行范围查询。

🍚总结

以上就是关于 Mysql 索引模型及其不同结构优劣势的简单总结,希望有所帮助。

发布于: 刚刚阅读数: 5
用户头像

知识浅谈

关注

公众号:知识浅谈 2022.06.22 加入

🍁 作者:知识浅谈,InfoQ签约作者,CSDN博客专家,华为云云享专家,阿里云社区签约博主 📌 擅长领域:全栈工程师、爬虫、ACM算法 💒 公众号:知识浅谈 🔥 联系方式vx:zsqtcc

评论

发布
暂无评论
深究索引:Mysql索引模型及其不同结构优劣势_8月月更_知识浅谈_InfoQ写作社区