文档章节

MySQL中的B-Tree索引

1只特立独行的猪
 1只特立独行的猪
发布于 09/21 22:02
字数 462
阅读 13
收藏 0

索引类型


在MySQL中,索引是在存储引擎层而不是服务器层实现的,故而没有统一的引擎标准:即同一种索引在不同存储器上的实现可能不一样。

B-Tree索引:

当人们谈论索引的时候,如果没有特别指出,多半讲的就是B-Tree索引。B-Tree意味着所有的值都是按顺序存储的,并且每一个叶子到根的距离相同。下图表反应了InnoDB的B-tree索引如何工作。

假如有以下表:

CREATE TABLE People (
	last_name	varchar(50)		not null,
	first_name	varchar(50)		not null,
	dob		date			not null,
	gender		enum('m', 'f')		not null,
	key(last_name, first_name, dob)
);

对于表中的每条数据,索引如下

索引对多个值进行排序的依据是create table语句中定义索引时列的顺序。

B-Tree通常可以支持“只访问索引查询”,无需访问数据行。

因为索引树中的节点是有序的,所以除了按值查找之外,索引还可以用于查询中的order by操作。

T-Tree索引的限制:

  • 如果不是按照索引的最左列开始查找,则无法使用索引。如上表中不能查找特定生日的人。
  • 不能跳过索引中的列。如果不指定first_name,则MySQL只能使用索引的第一列。
  • 如果查寻中有某个列的范围(模糊)查询,则其右边所有列都无法使用索引优化查找。

© 著作权归作者所有

1只特立独行的猪
粉丝 1
博文 28
码字总数 16767
作品 0
朝阳
程序员
私信 提问
十一、MySQL中的索引原理 -系统的撸一遍MySQL

MySQL支持的索引类型 MySQL支持多种索引类型,每一个存储引擎对其有着不同程度的支持。 MySQL支持以下四种索引,具体支持情况见下表: 索引 MyISAM InnoDB Memory B-Tree 支持 支持 支持 HA...

logbird
2016/11/13
157
0
【MySQL索引】Hash索引与B-Tree索引 介绍及区别

【摘要】 这是从《MySQL性能调优与架构设计》第六章摘录的一些知识点。 【主题】 Hash索引 B-Tree索引 【内容】 1. Hash索引 Hash 索引结构的特殊性,其检索效率非常高,索引的检索可以一次定...

银月光海
2013/07/02
226
0
MySQL Hash索引和B-Tree索引的区别

MySQL Hash索引和B-Tree索引的区别究竟在哪里呢?相信很多人都有这样的疑问,下文对两者的区别进行了详细的分析,供您参考。 MySQL Hash索引结构的特殊性,其检索效率非常高,索引的检索可以...

大道无形
2014/03/18
57
0
MySQL索引的分类(根据数据结构)

MySQL索引的分类(根据数据结构) 索引的本质 MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。提取句子主干,就可以得到索引的本质:索引是数据结构。 数据库查...

秋风醉了
2014/08/30
760
0
MySQL索引类型 btree索引和hash索引的区别

以下的内容,简单的讲解了两种索引的区别,但是深层次的还需要自己再好好看看,才能深入理解,最重要的是理解,而不是死记硬背。 Hash 索引结构的特殊性,其检索效率非常高,索引的检索可以一...

李雷岗
2016/11/24
20
0

没有更多内容

加载失败,请刷新页面

加载更多

Echars鼠标点击事件多次触发

本文转载于:专业的前端网站➭Echars鼠标点击事件多次触发 gChart.on('click', function (params) { if (params.componentSubType == "bar" && params.componentType == "serie......

前端老手
4分钟前
2
0
springboot2.0.6(附) 解析META-INF/spring.factories通过系统加载类获取对应的 class 的全限定名称

在 SpringBoot中是通过getSpringFactoriesInstances(Class<T> type)方法获取所有classpath下面的META-INF/spring.factories文件,然后根据type值找到对应的 class 的全限定名称列表。下面我来...

小亮89
6分钟前
1
0
zk工厂方法实现NIOServerCnxnFactory

NIOServerCnxnFactory类 内部类 AbstractSelectThread AcceptThread SelectorThread 属性 ZOOKEEPER_NIO_SESSIONLESS_CNXN_TIMEOUT 10s session过期时间 ZOOKEEPER_NIO_NUM_SELECTOR_THREADS......

writeademo
9分钟前
2
0
天猫精灵业务如何使用机器学习PAI进行模型推理优化

作者:如切,悟双,楚哲,晓祥,旭林 引言 天猫精灵(TmallGenie)是阿里巴巴人工智能实验室(Alibaba A.I.Labs)于2017年7月5日发布的AI智能语音终端设备。天猫精灵目前是全球销量第三、中国...

阿里云官方博客
17分钟前
2
0
BJL技巧之大路馆擦法—《利辰逸》

很多朋友刚玩百佳时间不长,不知道如何看路,今 天我就来简单的讲下看大路的方法。 都是前辈教的,这里我只是简单复述一下。 大路的观察方法有以下几种: 先从庄闲的数量变化说起。 庄闲的强...

那女孩对我说
17分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部