Почему мой MySQL сервер продолжает конвертировать HEAP в MyISAM

У нас периодически возникали проблемы с нашим сервером MySQL. Он продолжает выбрасывать множество этих запросов одновременно (таким образом, складывая их в моем списке процессов). Мы используем базу данных MyISAM и пул соединений через Glassfish v3 для приложения Grails.

db_user myhost: 35143 дБ, запрос 39

converting HEAP to MyISAM /* mysql-connector-java-5.1.7 ( Revision: ) */SHOW VARIABLES WHERE Variable_name ='language' OR Variable_name = 'net_write_timeout' OR Variable_name = 'interactive_timeout' OR Variable_name = 'wait_timeout' OR Variable_name = 'character_set_client' OR Variable_name = 'character_set_connection' OR Variable_name = 'character_set' OR Variable_name = 'character_set_server' OR Variable_name = 'tx_isolation' OR Variable_name = 'transaction_isolation' OR Variable_name = 'character_set_results' OR Variable_name = 'timezone' OR Variable_name = 'time_zone' OR Variable_name = 'system_time_zone' OR Variable_name = 'lower_case_table_names' OR Variable_name = 'max_allowed_packet' OR Variable_name = 'net_buffer_length' OR Variable_name = 'sql_mode' OR Variable_name = 'query_cache_type' OR Variable_name = 'query_cache_size' OR Variable_name = 'init_connect'

Мы предполагаем, что есть временные таблицы, создаваемые через GORM (grails ORM), которые вызывают эти запросы.

1 ответ

Может быть несколько вещей.

Наиболее очевидным будет ваш TMP_TABLE_SIZE переменная имеет малый размер, и MySQL должен создавать временную таблицу на диске, а не в памяти. Использование следующего запроса покажет, создает ли MySQL таблицы tmp на диске.

mysql> SHOW STATUS LIKE '%tmp%';

Другая проблема может заключаться в том, что таблица, которая должна идти во временную таблицу, BINARY или же TEXT таблицу, которую не поддерживает механизм памяти, и поэтому вы получите таблицу MyISAM, созданную на диске.

Временные таблицы, созданные на диске, являются таблицами MyISAM. HEAP это старое название MEMORY таблиц, так что вы должны работать в версии MySQL, предшествующей MySQL 5.x.

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