MySQL InnoDB : what are the units for "reads/s"?

标签 mysql performance innodb

在 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/

相关文章:

MYSQL查询使用IN方法一从两个表中获取数据作为多个数据的组合

PHP/MySQL - 尝试选择 table1 中的 id 等于 table2 中的 id 的两列时出现问题

python - 如何有效地浏览和比较非常大的字典的值与列表的元素?

mysql - 为什么 SQL 导入语句在与多个 MySQL 客户端一起运行时速度更快

mysql - 在 MySQL 的 LEFTJOIN 中限制右表上的列

.net - WinRT 中 COM 的性能如何?

c++ - Windows 安全模式运行简单程序(至少)快 3 倍?

MYSQL查询仅当引擎不是innodb时才更改表引擎

mysql - SQL - 按 "human"相关性排名或排序

php+mysql,使用 "join"时出现汉字乱码