1. B+树的数据都集中在叶子节点。分支节点只负责索引。B树的分支节点也有数据。B+树的层高会小于B树,平均的Io次数会远小于B树 2. B+树更擅长范围查询。存储在叶子节点中的数据是按顺序放置的双向链表。而B树范围查询只能中序遍历。 3. 索引节点没有数据。比较小。b树可以把索引完全加载至内存中。 ...
分类:
数据库 时间:
2020-05-13 09:38:12
阅读次数:
109
mysql的B+树索引 查找使用了二分查找,redis 跳表也使用了二分查找法,kafka查询消息日志也使用了二分查找法,二分查找法时间复杂度O(logn); 参考:redis的索引底层的 跳表原理 实现 聊聊Mysql索引和redis跳表 redis的跳表原理 时间复杂度O(logn)(阿里) 参 ...
分类:
其他好文 时间:
2020-05-11 01:34:25
阅读次数:
79
如何查询表 连表操作理论 今日内容详细 前期表准备 几个重要关键字的执行顺序 where筛选条件 having分组之后的筛选条件 distinct去重 order by排序 limit限制展示条数 正则 多表操作 前期表准备 表查询 子查询 总结 ...
分类:
数据库 时间:
2020-05-10 13:10:04
阅读次数:
62
MySQL索引类型详解前言:索引是对数据库表中一列或者多列的值进行排序的一种结构,使用索引可提高数据库中特定数据的查询速度。索引是一个单独的、存储在磁盘上的数据库结构,它们包含着对数据表里所有记录的引用指针。使用索引用于快速找出在某个或多个列中有一特定值得行,所有MySQL列类型都可以被索引,对相关列使用索引是提高查询操作速度的最佳途径。索引的优势:加快查询速度创建唯一索引来保证数据表中数据的唯一
分类:
数据库 时间:
2020-05-10 09:12:00
阅读次数:
86
首先我们要知道mysql中 myisam,innodb默认使用的是 Btree索引,至于btree的数据结构是怎样的都不重要,只需要知道结果,既然是索引那这个数据结构最后是排好序;就像新华字典他的目录就是按照a,b,c..这样排好序的; 所以你在找东西的时候才快,比如你找 “中” 这个字的解释,你肯 ...
分类:
数据库 时间:
2020-05-09 00:40:45
阅读次数:
80
MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度。打个比方,如果合理的设计且使用索引的MySQL是一辆兰博基尼的话,那么没有设计和使用索引的MySQL就是一个人力三轮车。拿汉语字典的目录页(索引)打比方,我们可以按拼音、笔画、偏旁部首等排序的目录(索引)快速查找到需要的字。创建索引时,你需要确保该索引是应用在SQL查询语句的条件(一般作为WHERE子句的
分类:
数据库 时间:
2020-05-08 10:16:27
阅读次数:
115
支付宝高级Java一面 JVM中的老年代在什么情况下会触发GC? CMS的垃圾回收步骤,G1和CMS的区别? CMS哪个阶段是并发的,哪个阶段是串行的? 谈谈Java线程池,线程池中几个参数含义 谈谈你了解的J.U.C包的JDK源码(CAS、AQS、ConcurrentHashMap、ThreadL ...
分类:
编程语言 时间:
2020-05-07 15:41:53
阅读次数:
100
摘要 在这篇文章中,我会先介绍一下什么是索引,索引有什么作用。 之后会介绍一下索引的数据结构是什么样的,有什么优点,又会带来什么样的问题。 在分析完数据结构后,我们可以根据这个数据结构,研究索引的用法,以及如何设计更高效的缓存。 最后,我会对上一篇的内容进行补充,介绍 的作用以及分析 对性能的影响。 ...
分类:
数据库 时间:
2020-05-05 18:03:17
阅读次数:
91
1. 索引的概念 1.1 索引是什么 MySQL 官方对索引的定义为:索引(Index)是帮助MySQL 高效获取数据的数据结构。可以得到索引的本质:索引是数据结构。可以简单理解为排好序的快速查找数据结构。 在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向) ...
分类:
数据库 时间:
2020-05-05 00:59:37
阅读次数:
111
1.索引的概念 数据库查找时,没有索引的话需要遍历,浪费时间。通过索引能更快定位要要查找的内容的位置,索引就是Java/C里面的数组下标,通过下标直接获取数组的内容。数据库索引的实现有2种,B+树和哈希。 2.索引的优缺点 (1)优点:所有的字段都可以通过添加索引从而提高查找效率。 (2)缺点:创建 ...
分类:
数据库 时间:
2020-05-03 18:19:21
阅读次数:
74