mysql
索引分析、底层原理
chenglun17
这个作者很懒,什么都没留下…
展开
-
Explain
1、定义Explain 关键字可以模拟优化器执行SQL语句,分析你的查询语句或是结构的性能瓶颈;在 select 语句之前增加 explain 关键字,MySQL 会在查询上设置一个标记,执行查询会返回执行计划的信息。2、变种explain extended: explain 的基础上额外提供一些查询优化的信息。紧随其后通过 show warnings 命令可以得到优化后的查询语句,从而看出优化器优化了什么。额外还有 filtered 列,是一个半分比的值,rows * filtered/100原创 2020-08-04 18:45:55 · 191 阅读 · 0 评论 -
B-Tree / B+Tree / Hash
1、B-Tree相比较红黑树来说,B-Tree很大程度上提升了查询效率(树的高度为3的情况下,Mysql单表可以存放千万级数据,理论上来说,如果做等值查询,最多只需要3次磁盘的IO就会就会得到数据),上图是B-Tree的数据结构,可以看到每一个key对应的一个data,如果表内数据比较庞大(或是字段较多的情况),这样就造成了树十分庞大,单次IO加载索引文件的时候会非常的慢,于此同时各个节点之间也没有关系(如指针等),对此,引入了B+Tee2、B+Tree叶子节点不存储指针;顺序访问指针,提原创 2020-08-04 18:45:39 · 98 阅读 · 0 评论