Проверьте, использовался ли буфер в последнем запросе

0

Мне было интересно, есть ли какой-либо query/config/trick/etc, чтобы узнать, использовался ли innodb_buffer при получении результата для last query.

PS: Это в контексте настройки производительности, и я не хочу держать вещи в порядке догадок, так что есть ли способ предоставить конкретное доказательство, если был использован buffer_pool или использовался обычный поиск db.

PPS: Я уже искал похожие термины, такие как

  • проверить, использовался ли буфер mysql
  • Использованный буфером Innodb
  • Убедитесь, что результаты загружены из пула буферов или хранилища данных. так далее..
Теги:
query-optimization
innodb
micro-optimization

1 ответ

3
Лучший ответ

Следите за изменениями значений GLOBAL STATUS для Innodb%. То же для Handler%.

Мне нравится делать это для выяснения того, что происходит в запросе:

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

Это говорит мне, сколько строк затрагивает сколько раз. И используется ли временная таблица и насколько она велика (в строках). И т.п.

Единственный способ, с помощью которого buffer_pool не будет использоваться в запросе InnoDB, заключается в том, что вместо этого используется кеш запросов.

Вероятно, что вы ловите рыбу, не является ли "buffer_pool" "использованным", но нужно ли извлекать блок с диска, прежде чем его можно будет использовать?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню