检查上次查询是否使用了缓冲区

Check if buffer was used in last query

我想知道是否有任何 query/config/trick/etc 来知道 innodb_buffer 是否被用于获取 [= 的结果14=].

PS:这是在性能调整的背景下,我不想让事情保持最佳猜测,所以如果使用 buffer_pool 有没有办法提供具体证据或者使用了正常的数据库查找。

PPS: 我已经搜索过

等相关词条

注意 Innodb%GLOBAL STATUS 值的变化。 Handler%.

同上

我喜欢这样做是为了弄清楚查询中发生了什么:

 FLUSH STATUS;
 SELECT ...
 SHOW SESSION STATUS LIKE 'Handler%';

它准确地告诉我有多少行被触摸了多少次。以及是否正在使用临时 table 以及它有多大(以行为单位)。等等

InnoDB 查询中 buffer_pool 不会 "used" 的唯一方法是使用查询缓存。

可能你要钓鱼的不是 buffer_pool 是否是 "used",而是一个块是否必须从磁盘中取出才能使用?