Re: Bloqueos de servidor Mysql en consultas
¿Tienes algún ejemplo de las consultas lentas que bloquean a las demás? Puedes habilitar el slow query log con log-slow-queries, como se explica aquí:
http://dev.mysql.com/doc/refman/5.0/es/slow-query-log.html
Lo más probable es que estas consultas lentas estén incurriendo en bloqueos a nivel de tabla que impiden a otros hilos progresar (por ejemplo, si una SELECT lenta bloquea una tabla, otro hilo haciendo UPDATE o DELETE y en algunos casos INSERT en la misma tabla se quedará bloqueado hasta que termine, o bien un UPDATE o DELETE y en algunos casos INSERT lentos bloquearán todas las otras consultas que usen la misma tabla). Esto ocurre o bien porque estás utilizando un motor de almacenamiento con bloqueos a nivel de tabla (típicamente MyISAM) o porque estás bloqueando las tablas manualmente con LOCK TABLES. Deberías considerar utilizar el motor InnoDB para las tablas, si la aplicación lo soporta. Si estás desarrollando la aplicación, deberías evitar los bloqueos de tablas (en tales casos es casi siempre mejor usar tablas InnoDB).
Puedes cambiar una tabla de un motor de almacenamiento a otro con ALTER TABLE tabla ENGINE=motor; . La aplicación tiene que soportar este motor; la mayoría de las cosas son independientes del motor de almacenamiento pero no todas. Por ejemplo, si la tabla tiene índices FULLTEXT, no podrás pasarla a InnoDB.
Un saludo,
Miguel Pérez
Afina Sistemas - Partner de MySQL en España
Subject
Views
Written By
Posted
5001
May 03, 2007 03:59PM
Re: Bloqueos de servidor Mysql en consultas
5727
May 24, 2007 06:01AM
Sorry, you can't reply to this topic. It has been closed.
Content reproduced on this site is the property of the respective copyright holders.
It is not reviewed in advance by Oracle and does not necessarily represent the opinion
of Oracle or any other party.