Может ли любая ошибка конфигурации привести к созданию слишком большого количества временных таблиц, как показывает mysql..mysql тюнер
Current max_heap_table_size = 200 M
Current tmp_table_size = 200 M
Of 17158 temp tables, 30% were created on disk
table_open_cache = 125 tables
table_definition_cache = 256 tables
You have a total of 97 tables
You have 125 open tables.
Current table_cache hit rate is 3%
Раньше временная таблица была «из 23725 временных таблиц, 38% были созданы на диске», но я изменил max_heap и tmp_table с 200 до 200 метров с 16 до 30%.
Конфигурация:
engine myisam
group_concat_max_len = 32768
key_buffer_size = 3.7 GB,
thread_stack = 256k,
table_cache = 125
query_cache_limit = 1M
query_cache_size = 16M
join_buffer_size = 2.00 M
max_connections = 800
Другая система с конфигурацией по умолчанию показывает «из 23725 временных таблиц, 1% были созданы на диске» с той же базой данных.
Я попытался изменить значение по умолчанию на машине с этой проблемой, и она по-прежнему показывает «Из 580 временных таблиц 16% были созданы на диске».
Я использую Ubuntu 11.4 64 бит с 48 ГБ оперативной памяти. Кто-нибудь может предложить решение?
Поможет ли это изменить механизм db с «myisam» на «memory» в таблицах с помощью «group by»? Как объяснено здесь: http://www.mysqlperformanceblog.com/2007/08/16/how-much-overhead-is-caused-by-on-disk-teilitary-tables/
tmp_table_size
илиmax_heap_table_size