你好我是辰兮,很高兴你能来阅读,本篇是整理了索引基础学习的相关知识点,带你认识了解索引的数据结构,实现原理,获取新知,希望对你有帮助,一起加油,共同进步。 MySQL官方定义:索引(Index)是帮助MySQL高效获取数据的数据结构。 作用: 可以提高查询效率。 关键词:数据结构 用来提高查询效率 索引是在存储引擎中实现的,也就是说不同的存储引擎,会使用不同的索引。MyISAM和InnoDB存储引擎:只支持BTREE索引,也就是说默认使用BTREE,不能够更换。MEMORY/HEAP存储引擎:支持HASH和BTREE索引。 mysql的索引我们分为三大类来讲单列索引(普通索引,唯一索引,主键索引)、组合索引、全文索引。 (1)为什么我们添加完索引后查询速度会变快? (2)索引的代价 (3)在哪些column上使用索引? 实际的数据库系统几乎没有使用二叉查找树或其进化品种红黑树(red-black tree)实现的,目前大部分数据库系统及文件系统都采用B-Tree或其变种B+Tree作为索引结构。 (1)B-Tree B树(Balance)是一种自平衡的树,能够保持数据有序。这种数据结构能够让查找数据、顺序访问、插入数据及删除的动作,都在对数时间内完成。 概括来说B树是一个一般化的二叉查找树(binary search tree),可以拥有多于2个子节点。B树为系统大块数据的读写操作做了优化。B树减少定位记录时所经历的中间过程,从而加快存取速度。 下面是一个B-Tree的数据结构: B-Tree是满足下列条件的数据结构: 在B-Tree中按key检索数据的算法:首先从根节点进行二分查找,如果找到则返回对应节点的data,否则对相应区间的指针指向的节点递归进行查找,直到找到节点或找到null指针,返回null则表示查找失败。 (2)B+Tree B+Tree是B树最常见的的一种变种(B-Tree有许多变种),MySQL就普遍使用B+Tree实现其索引结构。 与B-Tree相比,B+Tree有以下不同点: 一般在数据库系统或文件系统中使用的B+Tree结构都在经典B+Tree的基础上进行了优化,增加了顺序访问指针。 在B+Tree的每个叶子节点增加一个指向相邻叶子节点的指针,就形成了带有顺序访问指针的B+Tree。做这个优化的目的是为了提高区间访问的性能,例如图4中如果要查询key为从18到49的所有数据记录,当找到18后,只需顺着节点和指针顺序遍历就可以一次性访问到所有数据节点,极大提到了区间查询效率。 MySQL B+Tree索引解析图
1.JAVA基础面试常考问题
: JAVA面试基础常考题汇集2.JAVA面试SSM框架常考
:JAVA框架面试题汇集
一、索引定义
二、索引分类
索引名称
作用
主键索引
主键是一种唯一性索引,但它必须指定为PRIMARY KEY,每个表只能有一个主键
唯一索引
索引列的所有值都只能出现一次,即必须唯一,值可以为空
普通索引
基本的索引类型,值可以为空,没有唯一性的限制
全文索引
全文索引的索引类型为FULLTEXT
三、索引原理
四、索引数据结构
【key+指针】
,B树是【键值对+指针】B+树的每个叶子节点只包含键值对
,B树的叶子节点【键值对+指针】B+树的每个非叶子节点的指针的数量等于key的数量
,B树(指针数量=键值对数量+1)B+树的叶子节点包含所有的key
The best investment is to invest in yourself
2020.06.12 记录辰兮的第80篇博客
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算