Pourquoi mon serveur MySQL continue de convertir HEAP dans MyISAM

Nous avons périodiquement posé des problèmes avec notre serveur MySQL. Il continue à émettre plusieurs de ces demandes en même temps (Ainsi, les plier dans ma liste de processus). Nous utilisons une base de données MyISAM et des connexions de piscine à travers Glassfish v3 Pour application Grails.

db_user myhost: 35143 db Demande 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'

Nous supposons que avec GORM (ORM grails) Les tables temporaires sont créées qui causent ces demandes.
Invité:

Christine

Confirmation de:

Peut être quelques choses.

Le plus évident serait votre

TMP_TABLE_SIZE

La variable est trop petite, et MySQL Doit créer une table temporaire sur le disque et non en mémoire. La demande suivante montrera, comment crée MySQL Table de disque tmp.

mysql> SHOW STATUS LIKE '%tmp%';

Un autre problème peut être que la table qui devrait aller à une table temporaire,

BINARY

ou

TEXT

la table que le mécanisme de mémoire ne prend pas en charge et que vous obtenez une table MyISAM, Créé sur le disque.

Les tables temporaires créées sur le disque sont des tables MyISAM.

HEAP

Ceci est un ancien nom pour

MEMORY

Tables, vous devez donc travailler dans la version MySQL avant que MySQL 5.x.

Pour répondre aux questions, connectez-vous ou registre