MySQL索引学习笔记

本文详细介绍了MySQL中的索引概念,包括索引的好处与缺点,主要存储引擎InnoDB和MyISAM的区别,以及二叉树、红黑树、Hash表和B+Tree等不同数据结构的特点。重点突出了B+Tree在性能优化上的优势。
摘要由CSDN通过智能技术生成

MySQL索引学习笔记

索引的定义

索引是排好序的数据结构。
好处:能够提高查询的效率
坏处:会减慢插入的速度,占用额外的存储空间

主要存储引擎的种类

1 InnoDB
索引和数据存储在一起
2 MyISAM
索引和数据分离

索引的数据结构

 二叉树
         无法保证左右子树的高度的平衡,树的高度可能会变成O(n),和链表查询的时间复杂度一致,数据完全存储在内存里
 红黑树
         能够保证树的平衡,查询的时间复杂度为log(n),适合于点查询,数据也完全存储在内存里
 Hash表
      对索引的key进行一次hash计算就可以定位出数据存储的位置
     很多时候Hash索引要比B+ 树索引更高效
     仅能满足 “=”,“IN”,不支持范围查询
       
 B-Tree
      叶子节点具有相同的深度,叶子节点的指针为空
      所有索引元素不重复
      节点中的数据索引从左到右递增排列
  
  B+Tree(B-Tree变种)
      非叶子节点不存储data,只存储索引(冗余),可以放更多的索引
      叶子节点包含所有索引字段
      叶子节点用指针连接,提高区间访问的性能
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值