Чи може будь-яка помилка конфігурації призвести до створення занадто багато темп-таблиць за допомогою показу тюнера 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 м з 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% створено на диску".
Я використовую 64-розрядний Ubuntu 11.4 з 48 ГБ оперативної пам’яті. Чи може хтось запропонувати рішення?
Чи змінить двигун db з "myisam" на "memory" на таблицях за допомогою "group by" це виправить? Як пояснено тут: http://www.mysqlperformanceblog.com/2007/08/16/how-much-overhead-is-cause-by-on-disk-temporary-tables/
tmp_table_size
абоmax_heap_table_size