数据库上的 i/o 与查询类型有何关系
How does i/o on database relate to query type
所以我有这样的指标。
这是我的愚蠢问题...rw i/o 是否与 rw 查询直接相关?
使用下面的示例,这是否意味着读取查询增加了 activity?
我还没有启用一些标志来在事务级别上有指标,但我最终会这样做,它现在是一个黑盒子。
这并不一定意味着它是读取查询的结果。
即使是写入,InnoDB 也只能在数据页从存储复制到 InnoDB 缓冲池(即在 RAM 中)后才能更改数据页。对数据行或索引的任何访问都在缓冲池中完成。然后RAM中的修改页面最终被刷新到存储。
如果读取和写入查询作用于先前已加载到缓冲池中的页面,则它们可能不需要导致读取 I/O。仅当查询需要访问尚未在缓冲池中的页面时,您才会看到 read I/O。然后按需加载页面。
所以写查询如:
UPDATE mytable SET somecolumn = 'value' WHERE id = 8675309;
可能需要读取 I/O 因为保存该行的页面直到那时才出现在缓冲池中。
所以我有这样的指标。
这是我的愚蠢问题...rw i/o 是否与 rw 查询直接相关?
使用下面的示例,这是否意味着读取查询增加了 activity?
我还没有启用一些标志来在事务级别上有指标,但我最终会这样做,它现在是一个黑盒子。
这并不一定意味着它是读取查询的结果。
即使是写入,InnoDB 也只能在数据页从存储复制到 InnoDB 缓冲池(即在 RAM 中)后才能更改数据页。对数据行或索引的任何访问都在缓冲池中完成。然后RAM中的修改页面最终被刷新到存储。
如果读取和写入查询作用于先前已加载到缓冲池中的页面,则它们可能不需要导致读取 I/O。仅当查询需要访问尚未在缓冲池中的页面时,您才会看到 read I/O。然后按需加载页面。
所以写查询如:
UPDATE mytable SET somecolumn = 'value' WHERE id = 8675309;
可能需要读取 I/O 因为保存该行的页面直到那时才出现在缓冲池中。