检查上次查询是否使用了缓冲区
Check if buffer was used in last query
我想知道是否有任何 query
/config
/trick
/etc 来知道 innodb_buffer
是否被用于获取 [= 的结果14=].
PS:这是在性能调整的背景下,我不想让事情保持最佳猜测,所以如果使用 buffer_pool
有没有办法提供具体证据或者使用了正常的数据库查找。
PPS: 我已经搜索过
等相关词条
- 检查缓冲区是否被使用mysql
- Innodb 缓冲区使用检查
- 验证结果是否从缓冲池或数据存储中加载。等..
注意 Innodb%
的 GLOBAL STATUS
值的变化。 Handler%
.
同上
我喜欢这样做是为了弄清楚查询中发生了什么:
FLUSH STATUS;
SELECT ...
SHOW SESSION STATUS LIKE 'Handler%';
它准确地告诉我有多少行被触摸了多少次。以及是否正在使用临时 table 以及它有多大(以行为单位)。等等
InnoDB 查询中 buffer_pool 不会 "used" 的唯一方法是使用查询缓存。
可能你要钓鱼的不是 buffer_pool 是否是 "used",而是一个块是否必须从磁盘中取出才能使用?
我想知道是否有任何 query
/config
/trick
/etc 来知道 innodb_buffer
是否被用于获取 [= 的结果14=].
PS:这是在性能调整的背景下,我不想让事情保持最佳猜测,所以如果使用 buffer_pool
有没有办法提供具体证据或者使用了正常的数据库查找。
PPS: 我已经搜索过
等相关词条- 检查缓冲区是否被使用mysql
- Innodb 缓冲区使用检查
- 验证结果是否从缓冲池或数据存储中加载。等..
注意 Innodb%
的 GLOBAL STATUS
值的变化。 Handler%
.
我喜欢这样做是为了弄清楚查询中发生了什么:
FLUSH STATUS;
SELECT ...
SHOW SESSION STATUS LIKE 'Handler%';
它准确地告诉我有多少行被触摸了多少次。以及是否正在使用临时 table 以及它有多大(以行为单位)。等等
InnoDB 查询中 buffer_pool 不会 "used" 的唯一方法是使用查询缓存。
可能你要钓鱼的不是 buffer_pool 是否是 "used",而是一个块是否必须从磁盘中取出才能使用?