每日一博 | MySQL 日志顺序读写及数据文件随机读写原理
摘要:你知道吗,MySQL在实际工作时候的两种数据读写机制? 本文分享自华为云社区《MySQL日志顺序读写及数据文件随机读写原理》,作者:JavaEdge 。 MySQL在实际工作时候的两种数据读写机制: 对redo log、binlog这种日志进行的磁盘顺序读写 对表空间的磁盘文件里的数据页进行的磁盘随机读写 1 磁盘随机读 MySQL执行增删改操作时,先从表空间的磁盘文件里读数据页出来, 这就是磁盘随机读。 如下图有个磁盘文件,里面有很多数据页,可能需要在一个随机位置读取一个数据页到缓存,这就是磁盘随机读 因你要读取的这个数据页,可能在磁盘的任一位置,所以你在读取磁盘里的数据页时,只能用随机读。磁盘随机读性能极差,所以不可能每次更新数据都磁盘随机读,而是读取一个数据页之后,放到BP的缓存,下次要更新时,直接更新BP里的缓存页。 磁盘随机读的性能指标 IOPS 底层的存储系统可执行多少次磁盘读写操作/s。压测时可以观察一下。对数据库的crud操作的QPS影响非常大,某种程度上几乎决定了你每秒能执行多少个SQL语句,底层存储的IOPS越高,你的数据库的并发能力就越高。 磁盘随机读写操作...