如何深入理解并高效运用MySQL数据库中的索引技术?

2026-04-02 14:270阅读0评论SEO教程
  • 内容介绍
  • 相关推荐

本文共计992个文字,预计阅读时间需要4分钟。

如何深入理解并高效运用MySQL数据库中的索引技术?

一、索引的种类

二、索引的实现原理

三、使用索引

一、索引的种类 二、MySQL索引主要分为两大类: 单列索引:一个索引只包含一个列。 组合索引:一个索引包含多个列。

一、索引的种类二、索引的实现原理三、使用索引的
一、索引的种类

mysql索引主要分为两大类:单列索引、组合索引 单列索引: 一个索引只包含一个列,一个表可以有多个单列索引。 其中单列索引又可以分为:主键索引、唯一索引、普通索引 普通索引: 最基本的索引,值可以不唯一,允许有空值。 唯一索引: 唯一所以要求所有列的值是唯一的,允许有空值。 主键索引: 所有列的值是唯一的,不允许有空值。 组合索引: 一个索引可以包含两个或者两个以上的列。

二、索引的实现原理

索引的底层使用的是B+树的数据结构; 为何不用其他数据结构? 1、使用二叉树,如果使用自增索引,会导致二叉树不平衡,从而使数据结构类似于链表,每次查找数据都要全盘扫描,使效率降低; 2、使用红黑树(即二叉平衡树),会导致树的高度特别高,查询效率也会降低; 3、B+树是B树的升级版,使树的高度变低; B树: 把节点搂到内存里,然后挨个节点比对;先从跟节点开始,例如 查找49,15-56之间中间有指针,然后向下寻找; B+树: 与B树的不同的是,只有子节点有date(索引文件行所在磁盘指针),且子节点包含所有数据,每个子节点之间有双向的指针(图片画的单向的)。

阅读全文

本文共计992个文字,预计阅读时间需要4分钟。

如何深入理解并高效运用MySQL数据库中的索引技术?

一、索引的种类

二、索引的实现原理

三、使用索引

一、索引的种类 二、MySQL索引主要分为两大类: 单列索引:一个索引只包含一个列。 组合索引:一个索引包含多个列。

一、索引的种类二、索引的实现原理三、使用索引的
一、索引的种类

mysql索引主要分为两大类:单列索引、组合索引 单列索引: 一个索引只包含一个列,一个表可以有多个单列索引。 其中单列索引又可以分为:主键索引、唯一索引、普通索引 普通索引: 最基本的索引,值可以不唯一,允许有空值。 唯一索引: 唯一所以要求所有列的值是唯一的,允许有空值。 主键索引: 所有列的值是唯一的,不允许有空值。 组合索引: 一个索引可以包含两个或者两个以上的列。

二、索引的实现原理

索引的底层使用的是B+树的数据结构; 为何不用其他数据结构? 1、使用二叉树,如果使用自增索引,会导致二叉树不平衡,从而使数据结构类似于链表,每次查找数据都要全盘扫描,使效率降低; 2、使用红黑树(即二叉平衡树),会导致树的高度特别高,查询效率也会降低; 3、B+树是B树的升级版,使树的高度变低; B树: 把节点搂到内存里,然后挨个节点比对;先从跟节点开始,例如 查找49,15-56之间中间有指针,然后向下寻找; B+树: 与B树的不同的是,只有子节点有date(索引文件行所在磁盘指针),且子节点包含所有数据,每个子节点之间有双向的指针(图片画的单向的)。

阅读全文