mysql5.7 InnoDB存储引擎方面的提升有哪些

简介

MySQL是目前最为常用的开源关系型数据库管理系统。InnoDB存储引擎是MySQL的官方存储引擎之一,即默认的事务性存储引擎。随着数据量的日益增大和业务复杂度的提升,数据库性能对于系统的稳定性和可用性显得越来越重要。MySQL5.7版本中,InnoDB存储引擎进行了多方面的提升,很多方面的性能得到了大大的提升,本文将对这些方面的提升进行详细介绍。

提升一:更快的重建索引

在MySQL5.7中,InnoDB存储引擎针对重建索引做出了一些重要的优化,具体如下:

1. 增加了ALTER TABLE和CREATE INDEX时数据变更的流量控制,提高了IO的利用率。

2. 优化了主键索引的B-tree结构,在有足够可用空间的情况下,会延迟split的触发,提升了重建索引的效率。

3. 在执行ALTER TABLE或CREATE INDEX时,仅计算完成前提供了可见性的部分,而非完全计算所有的数据,以降低重新构建索引的成本。

提升二:更快的查询优化

在MySQL5.7中,对InnoDB存储引擎的查询优化做出了多方面的改进,主要体现在以下几个方面:

1. 优化了扇出树算法,以缓存更多的索引页面,从而使得范围搜索和排序操作获得更好的性能表现。

2. 可以利用更大的InnoDB缓存来缓存索引页面,从而减少IO的次数,提高查询效率。

3. 改进了统计数据收集器的效能,减少了统计数据的统计和收集时间。

提升三:事务处理能力的提升

事务处理是数据库系统的核心功能,在MySQL5.7中,对InnoDB存储引擎的事务处理能力进行了多方面的优化和提升。

1. 提高了高并发环境下的事务性能。

2. 优化了多版本事务控制(MVCC)的实现,减少了MVCC占用的磁盘空间,提高了性能。

3. 把已经加载为内存的磁盘页转化为“脏页”,优化了磁盘读写性能。

© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享