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

时间:2018-04-15 23:38:02

标签: mysql query-optimization innodb micro-optimization

我想知道是否有query / config / trick /等来了解innodb_buffer是否用于{{1}的结果获取}。

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

PPS:我已经搜索过像

这样的相关术语
  • 检查缓冲区是否使用了mysql
  • 使用了Innodb缓冲区检查
  • 验证是否从缓冲池或数据存储区加载了结果。等。

1 个答案:

答案 0 :(得分:3)

关注GLOBAL STATUS Innodb%值的更改。同上Handler%

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

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

它确切地告诉我有多少行被触摸了多少次。是否正在使用临时表以及它有多大(按行)。等

buffer_pool不会被"使用"的唯一方法在InnoDB查询中,是否使用了查询缓存。

你钓鱼的可能性不在于buffer_pool是否"使用",而是在使用之前是否必须从磁盘中取出一个块?

相关问题