Conviertiendo tablas desde myisam a innodb

 

 

Cuando un server mysql empieza a mostrar que la carga sube y sube, hay que revisar si hay contención.

 

Si existe un mensaje de tipo


Waiting for table level lock

Seguramente la tabla esta guardada como Myisam, y este tipo de almacenamiento bloquea toda la tabla cuando se va a hacer un update.

La recomendación ( o lo que generalmente me funciona) es migrar la tabla a modo Innodb. Innodb permite bloqueos a nivel de fila, por lo que solo la fila que esta siendo usada para el update sera bloqueada, permitiendo acceder al resto de la data gaurdada en la tabla.

 

Para convertirla debemos tener el motor de Innodb correctamente configurado, y solo deberemos ejecutar

 


ALTER TABLE nombre_tabla ENGINE=InnoDB;

Esto generalmente es suficiente para remover el mensaje


Waiting for table level lock

 

Saludos

 

 

Deja tu comentario

%d bloggers like this: