MySQL索引详解之索引的数据结构

本文详细介绍了MySQL索引的基础知识,包括索引的分类(普通索引、唯一索引、主键索引、组合索引、全文索引和空间索引)和数据结构(哈希结构和B+树结构)。通过对B+树结构的分析,揭示了其高效查找性能的原因,并对比了哈希结构的优缺点,强调了B+树在数据库索引中的重要性。
摘要由CSDN通过智能技术生成

前言

很多人对数据库索引可能都是知其然却不知其所以然,对索引没有很深入的理解,在使用过程中也一知半解,导致没有办法准确高效地使用索引,甚至存在不少误用的情况,导致使用索引反而降低了系统的性能。下面就以MySQL索引为对象,通过几篇文章来带大家好好的学习下索引的知识。

索引的数据结构
索引的存储方式
索引的利弊以及高效使用

什么是索引

数据库索引指的是数据库管理系统中一个排序的数据结构,以协助快速查询、更新数据库表中的数据。简单理解就是类似书籍的目录,独立于书籍内容之外,能够快速根据目录查到到需要的文章的页码。如果没有目录,我们就要一页一页地翻页来查找文章,同理,如果没有索引的话,数据库系统只能一行一行地查找数据,注意,如果没有达到限制查找的行数,这样的遍历就要一直进行下去,直到全部遍历完。

显而易见,这样的查找效率是不可接受的。所以我们需要索引的帮助,索引可以提升数据查找的效率,从而大大提升数据库的性能。

索引分类

索引一般可以分为四类

  • 单列索引:单列索引指的是只包含一列的索引,又可分为三种:
    • 普通索引:普通索引是最基本的索引类型,没有什么限制,且允许空值和重复值。
    • 唯一索引:唯一索引列中的值必须是唯一的,允许存在一个空值。多个空值仍然会视为重复
    • 主键索引:主键索引是特殊的唯一索引,不允许存在空值。
  • 组合索引:组合索引也就是多列索引,由多列组合创建的索引,使用的时候遵循最左前缀原则。
  • 全文索引:全文索引只有MyISAM引擎支持,且只能在CHAR,VARCHAR,TEXT类型字段上使用全文索引,主要用于做文章的关键字搜索的
  • 空间索引:空间索引是对空间数据类型的字段建立的索引。

数据结构

学习MySQL索引的第一步,是先了解下MySQL索引的数据结构,也就是索引是用什么结构来存储的,了解了索引的数据结构才能帮助我们更好地理解&#

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值