在 MySQL 中,我有时会键入“show innodb status”来查看长时间运行的查询正在执行某些操作。底部的“ROW OPERATIONS”下有一行:
2000.00 inserts/s, 0.00 updates/s, 0.00 deletes/s, 2000.00 reads/s
这些的单位是什么?记录? InnoDB 页面?操作系统磁盘页? (它们是同一件事吗?)
最佳答案
这是逻辑行读取*,对 SHOW INNODB STATUS 顶部表示正在运行报告的内容进行平均。
所以它与页面部分(包含物理页面操作)不同。
这是一个很好的建模性能指标,因为它可以显示应用程序对数据库的一般需求。如果需求没有增加,但您的性能变差,请查看您的数据集是否增加等。也许这会导致更多的物理 IO?
[*] 逻辑行读取可能仍需要读取许多页,例如,如果它必须从撤消中查找旧版本 (MVCC)。
关于MySQL InnoDB : what are the units for "reads/s"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3911398/