B树
B+树
两个主要存储引擎:Innodb和Myisam。
他们默认将创建一个主键索引,并且默认情况下使用B+树索引。
InnoDB创建的主要密钥索引是集群索引。其他索引是辅助索引,也称为第二级索引或非集群索引。
但是,尽管这两个存储引擎支持B+树索引,但在特定数据存储结构方面却有所不同。
主键索引
索引和数据放在索引树上。由于主密钥索引是索引群,因此整个线数据存储在叶节点上,并且可以直接通过索引获得数据。
非主要密钥索引
将打开一个B+树,其叶子节点存储的数据数据是索引所在的数据的主要键。如果您想通过非媒体密钥索引查找数据,请分为两个步骤:
1.首先找到其主要钥匙
2.转到主要键索引以查找相应的数据(返回表)
InnoDB实施共享锁和锁
交易隔离水平简介(水平越高,合并越低)
InnoDB中的RC和RR隔离交易基于多个并发控制(MVVC)的版本,以实现高性能交易。
MVVC未锁定普通选择。如果读取的数据是执行删除或更新操作,则读取操作将不等待发布其锁定,而是直接使用MVVC读取该行的数据快照(数据快照Photosit是指先前版本的数据该行和数据快照的版本基于撤消。撤消用于进行交易回滚,并记录滚动版本的不同版本)。MVVC避免了重复数据锁定的过程,并大大改善了阅读操作的性能。
锁的特定实现算法
InnoDB不仅实现了线路锁定,还实现了锁。线路锁定是通过索引实现的。如果索引条件未检索数据,InnoDB将是锁定。
线锁有三种特定的实现算法:
只有在可以读取或高于隔离级别的特定操作下,您才能获得GAP锁定或下一键锁。
特定要求所需的查询列:例如,假设A和B的联合索引,然后选择 *将导致返回表