MySql教程

MySql中索引的一些知识

本文主要是介绍MySql中索引的一些知识,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

概述

数据库的索引常见的有B树索引、B+树索引、哈希索引,接下来我们队B树索引和B+树索引做一些分析

B树索引

BTree结构
BTree又叫做多路平衡搜索树,一棵M叉BTree特性如下:

  • 树中每个节点最多包含m个孩子
  • 除根节点与叶子结点外,每个节点至少有[ceil(m/2)]个孩子
  • 若根节点不是叶子结点,则至少你有两个孩子
  • 所有的叶子结点都在同一层
  • 每个非叶子节点由n个key和n+1个指针组成,其中[ceil(m/2)-1]<=n<=m-1

以5叉BTree为例,key的数量:公式推导[ceil(m/2)-1]<=n<=m-1,所以2<=n<=4,当n>4时,中间节点向上分裂到父节点,两边节点也分裂成两个节点。

B+Tree结构

B+Tree索引是BTree索引的变种,B+Tree与BTree的区别为:

  1. n叉B+Tree最多包含n个key,而BTree最多包含n-1个key
  2. B+Tree的叶子结点保存所有的key信息,依据key大小顺序排列
  3. 所有的非叶子节点都可以看做是key的索引部分。
这篇关于MySql中索引的一些知识的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!