Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/09/2014, 08:01
chelelo
 
Fecha de Ingreso: noviembre-2013
Mensajes: 9
Antigüedad: 10 años, 5 meses
Puntos: 0
Estructurar bien las consultas para no sobrecargar servidor

Tengo un problema con un sitio cuando es muy visitado, genera sobrecarga y se cae.

Hoy cuando se cayó, me dijeron esto (traducido con google):

Cita:
Parece que el sitio tenía numerosos procesos mysql atascado como se muestra a continuación:

| 10490095 | web_usu | localhost | web_fotos | Query | 15862 | Waiting for table level lock | update foto SET vistas_foto=vistas_foto+1 WHERE id_foto=6599 limit 1 |
| 10490260 | web_usu | localhost | web_fotos | Query | 15752 | Waiting for table level lock | update foto SET vistas_foto=vistas_foto+1 WHERE id_foto=6599 limit 1 |
...
...
Obviamente me lo solucionaron y ya funciona. Pero después, cuando le pregunto cual sería la solución para que esto no suceda seguido, me dicen:


Cita:
Locked tables are an issue that should be addressed by your developer and can occur due to the type of database you are using as well as the way your queries are structured. Certain types of queries will cause the table to lock as MySQL runs a search throughout the entire table because the query is poorly structured.

Traslate:

Tablas bloqueadas son un tema que debe ser abordado por su desarrollador y puede ocurrir debido al tipo de base de datos que está utilizando, así como la forma en que sus preguntas están estructuradas. Ciertos tipos de consultas causarán la mesa para bloquear como funciona MySQL una búsqueda en toda la tabla porque la consulta no está bien estructurado.

Alguna idea mas clara sobre esto?? que debo hacer o que estoy haciendo mal...?
gracias!