Skip to main content
2、B树和B加树的区别

2、B树和B加树的区别

一、B-Tree介绍

B-Tree是一种平衡的多路查找树,B树允许一个节点存放多个数据. 这样可以在尽可能减少树的深度的同时,存放更多的数据(把瘦高的树变的矮胖).

B-Tree中所有节点的子树个数的最大值称为B-Tree的阶,用m表示.一颗m阶的B树,如果不为空,就必须满足以下条件.

m阶的B-Tree满足以下条件:

  1. 每个节点最多拥有m-1个关键字(根节点除外),也就是m个子树
  2. 根节点至少有两个子树(可以没有子树,有就必须是两个)
  3. 分支节点至少有(m/2)颗子树 (除去根节点和叶子节点其他都是分支节点)
  4. 所有叶子节点都在同一层,并且以升序排序

Y-aong...About 4 minmysqlexplainmysql调优
3、explain执行计划

3、explain执行计划

explain 模拟优化器来执行sql查询,分析出查询语句或者是表结构的性能瓶颈

image.png
image.png

Y-aong...About 5 minmysqlexplainmysql调优
5、MVCC

5、MVCC

一、mvcc

概念

被称为多版本并发控制,在数据库中为了实现高并发的数据访问,对于数据进行多版本的处理,通过事务的可见性保证事务

最大的好处就是不加锁,读写不冲突,极大提升系统的并发性。目前mvcc只可以在rc和rr两种级别下工作

* MVCC,多版本并发控制, 用于实现**读已提交**和**可重复读**隔离级别。
* MVCC的核心就是 Undo log多版本链 + Read view,
“MV”就是通过 Undo log来保存数据的历史版本,实现多版本的管理,
“CC”是通过 Read-view来实现管理,
通过 Read-view原则来决定数据是否显示。同时针对不同的隔离级别, Read view的生成策略不同,也就实现了不同的隔离级别。

Y-aong...About 5 minmysqlexplainmysql调优