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

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云数据库 RDS MySQL Serverless,价值2615元额度,1个月
简介: 深究索引: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索引模型及其不同结构优劣势的简单总结,希望有所帮助。

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1天前
|
存储 SQL 关系型数据库
完蛋!😱 我被MySQL索引失效包围了!
完蛋!😱 我被MySQL索引失效包围了!
|
1天前
|
SQL 存储 关系型数据库
MySQL的3种索引合并优化⭐️or到底能不能用索引?
MySQL的3种索引合并优化⭐️or到底能不能用索引?
|
1天前
|
SQL 存储 关系型数据库
MySQL索引及事务
MySQL索引及事务
9 2
|
1天前
|
存储 SQL 关系型数据库
MySQL索引,看这一篇就够了!
MySQL索引,看这一篇就够了!
|
1天前
|
存储 缓存 关系型数据库
MySQL结构流程,看这一篇就够了!
MySQL结构流程,看这一篇就够了!
|
1天前
|
Java 关系型数据库 MySQL
MySQL 索引事务
MySQL 索引事务
12 0
|
2天前
|
存储 SQL 关系型数据库
MySQL 底层数据结构 聚簇索引以及二级索引 Explain的使用
MySQL 底层数据结构 聚簇索引以及二级索引 Explain的使用
13 0
|
2天前
|
自然语言处理 关系型数据库 MySQL
一文明白MySQL索引的用法及好处
一文明白MySQL索引的用法及好处
11 0
|
2天前
|
存储 SQL 关系型数据库
MySQL的优化利器⭐️索引条件下推,千万数据下性能提升273%🚀
以小白的视角探究MySQL索引条件下推ICP的优化,其中包括server层与存储引擎层如何交互、索引、回表、ICP等内容
MySQL的优化利器⭐️索引条件下推,千万数据下性能提升273%🚀
|
9天前
|
存储 关系型数据库 MySQL
【MySQL系列笔记】InnoDB引擎-数据存储结构
InnoDB 存储引擎是MySQL的默认存储引擎,是事务安全的MySQL存储引擎。该存储引擎是第一个完整ACID事务的MySQL存储引擎,其特点是行锁设计、支持MVCC、支持外键、提供一致性非锁定读,同时被设计用来最有效地利用以及使用内存和 CPU。因此很有必要学习下InnoDB存储引擎,它的很多架构设计思路都可以应用到我们的应用系统设计中。
156 4