当前位置: 首页 > 网络应用技术

性能优化-MYSQL

时间:2023-03-06 16:20:35 网络应用技术

  B树

  B+树

  两个主要存储引擎:Innodb和Myisam。

  他们默认将创建一个主键索引,并且默认情况下使用B+树索引。

  InnoDB创建的主要密钥索引是集群索引。其他索引是辅助索引,也称为第二级索引或非集群索引。

  但是,尽管这两个存储引擎支持B+树索引,但在特定数据存储结构方面却有所不同。

  主键索引

  索引和数据放在索引树上。由于主密钥索引是索引群,因此整个线数据存储在叶节点上,并且可以直接通过索引获得数据。

  非主要密钥索引

  将打开一个B+树,其叶子节点存储的数据数据是索引所在的数据的主要键。如果您想通过非媒体密钥索引查找数据,请分为两个步骤:

  1.首先找到其主要钥匙

  2.转到主要键索引以查找相应的数据(返回表)

  InnoDB实施共享锁和锁

  交易隔离水平简介(水平越高,合并越低)

  InnoDB中的RC和RR隔离交易基于多个并发控制(MVVC)的版本,以实现高性能交易。

  MVVC未锁定普通选择。如果读取的数据是执行删除或更新操作,则读取操作将不等待发布其锁定,而是直接使用MVVC读取该行的数据快照(数据快照Photosit是指先前版本的数据该行和数据快照的版本基于撤消。撤消用于进行交易回滚,并记录滚动版本的不同版本)。MVVC避免了重复数据锁定的过程,并大大改善了阅读操作的性能。

  锁的特定实现算法

  InnoDB不仅实现了线路锁定,还实现了锁。线路锁定是通过索引实现的。如果索引条件未检索数据,InnoDB将是锁定。

  线锁有三种特定的实现算法:

  只有在可以读取或高于隔离级别的特定操作下,您才能获得GAP锁定或下一键锁。

  特定要求所需的查询列:例如,假设A和B的联合索引,然后选择 *将导致返回表