MySQL открытые и открытые таблицы

У меня есть 81 таблица в базе данных innodb (MySQL). Данные в них составляют 2 ГБ на диске. Мои запросы редко объединяют более 3 таблиц одновременно. Мой размер innodb_buffer_pool составляет около 2,1 ГБ.

Запуск mysqltuner.pl я получаю следующее!

[!!] Частота попаданий в кеш таблиц: 7% (открыто 274, открыто 3К)

Из mysqlreport я вижу, что у меня действительно есть 274 открытых, 3K открытых и что мой потолок для открытого 400.

Тем не менее, делая это

show status like '%open%'

получает этот результат

...
Open_table_definitions      161
Open_tables                 274
Opened_files             150232
Opened_table_definitions      0
Opened_tables                 0

Два вопроса:

1) Разве "открытые таблицы" не должны указывать 3K, а не ноль в приведенном выше результате из статуса показа, например "%open%"?

2) Любой совет, что мне нужно сделать, чтобы исправить это! т.е. низкая частота обращений к кешу таблиц?

Спасибо

PS. Если это поможет, второй! У меня в mysqltuner.pl есть это:

[!!] Временные таблицы, созданные на диске: 29% (35 КБ на диске / 119 КБ всего)

2 ответа

1) Разве "открытые таблицы" не должны указывать 3K, а не ноль в приведенном выше результате из статуса показа, например "% open%"?

ДА, результат был получен в основном из SHOW STATUS и SHOW VARIABLES и некоторых базовых операций исчисления.

2) Любой совет, что мне нужно сделать, чтобы исправить это! т.е. низкая частота обращений к кешу таблиц? Попадание в кеш таблиц происходит из-за: 1. слишком мало открытых таблиц 2. общего количества таблиц во всех базах данных <<< размер открытой таблицы

  1. show status like '%open%' показывает состояние для текущего сеанса, а не для всей БД MySQL ( SHOW STATUS Syntax). Для получения глобального статуса используйте show global status like '%open%' вместо.

  2. Одна проблема, с которой я столкнулся для mysqltuner.pl, заключается в том, что всякий раз, когда он запускается, он открывает все таблицы в базе данных, таким образом увеличивая статистику открываемых таблиц. Если это не так, руководство MySQL предложило установить table_open_cache к * .

Другие вопросы по тегам