主键乱序插入对Innodb性能的影响_MySQL
程序员文章站
2022-06-15 08:51:40
...
bitsCN.com
在平时的mysql文档学习中我们经常会看到这么一句话:
MySQL tries to leave space so that future inserts do not incur un-necessary page splits (and thus higher IO cost). In an "ideal" world, MySQL tries to keep the index pages at 15/16-th full, but depending on insert order, this fill factor can be as low as 1/2
大致含义就是当我们按照索引顺序插入时,page的填充率能达到15/16 , 而乱序插入时只能到略大于 1/2 的填充率。
那么这个说法是否正确呢?是否有相应的理论依据呢?
本文将通过一些测试来验证这个观点的真伪。
测试数据准备
简介: 顺序数据通过sysbench --oltp-table-size = 8000000 生成,然后通过order by rand() 生成乱序数据。
mysql> desc sbtest;+-------+------------------+------+-----+---------+----------------+| Field | Type | Null | Key | Default | Extra |+-------+------------------+------+-----+---------+----------------+| id | int(10) unsigned | NO | PRI | NULL | auto_increment || k | int(10) unsigned | NO | MUL | 0 | || c | char(120) | NO | | | || pad | char(60) | NO | | | |+-------+------------------+------+-----+---------+----------------+bitsCN.com
推荐阅读
-
面试|简单描述MySQL中,索引,主键,唯一索引,联合索引 的区别,对数据库的性能有什么影响(从读写两方面)
-
MySQL 笔记整理(7) --行锁功能:怎么减少行锁对性能的影响?
-
Drop Table对MySQL的性能影响分析
-
MySQL中limit对查询语句性能的影响
-
主键乱序插入对Innodb性能的影响_MySQL
-
InnoDB 隔离模式对 MySQL 性能的影响
-
深入解析MySQL的事务隔离及其对性能产生的影响_MySQL
-
对MySQL性能影响关系紧密的五大配置参数
-
面试|简单描述MySQL中,索引,主键,唯一索引,联合索引 的区别,对数据库的性能有什么影响(从读写两方面)
-
深入解析MySQL的事务隔离及其对性能产生的影响_MySQL