Эти переменные могут быть релевантными:
table_open_cache
table_open_cache_instances
table_definition_cache
schema_definition_cache (new in 8.0)
tablespace_definition_cache (new in 8.0)
Каждый кеш имеет фиксированный размер, настраиваемый во время запуска.(В некоторых случаях в более новых версиях его можно динамически изменять.) Документы для 5.7 говорят, например, что table_open_cache
является "Динамическим"
Эти значения ГЛОБАЛЬНОГО СОСТОЯНИЯ могут иметь отношение:
Open_table_definitions
Opened_table_definitions
Opened_tables
Opened_files
Table_open_cache_hits
Table_open_cache_misses
Table_open_cache_overflows
Попадания / пропуски / переполнения дают вам хорошие подсказки относительно того, достаточно ли table_open_cache
достаточно большой, но не тот, который является оптимальным размером.
В версии 5.7 и ранее словарь данных получен из файлов .frm
, разбросанных на диске.В 8.0 он находится в наборе таблиц InnoDB.Предположительно, подходящий запрос может предоставить некоторые соответствующие метрики.
См. Также такие вещи, как performance_schema_max_table_handles .