Ver Mensaje Individual
  #2 (permalink)  
Antiguo 28/08/2013, 07:26
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Límite de inserts en mysql

Cualquier base de datos, y no sólo MySQL, se verá afectada por una alta concurrencia sobre la misma tabla. Eso es más que obvio.
Las complicaciones y lentitud que se generan en la lectura tienen que ver con lo que se denomina "lectura consistente", cosa que representa uno de los mayores dolores de cabeza para todo sistema multiusuario.
Piénsalo de esta forma: si lees X registros para luego actualizarlos, y mientras los estás leyendo se siguen insertando registros, ¿qué es lo que debe devolver? ¿Devuelve lo que estaba al momento de iniciar tu lectura, o lo que está al momento de terminarla?
Te puedes imaginar que no es lo mismo.
Además, supongamos que dos usuarios acceden al mismo registro, y los dos pretenden modificarlo en diferentes acciones. ¿Quién lo modifica?
Si a este caso le agregas que el primero de ellos modifica un dato que el segundo usa para realizar la actualización (en el WHERE), ¿cuál sería el efecto al momento de que el segundo confirme la modificación?
Simple: Fallaría.

Esta breve reseña te puede dar una idea que programar procesos concurrentes no es una tarea fácil, y consultas simples de SELECT para hacer después UPDATEs, no se escribe simplemente así. Hay que usar recursos, como por ejemplo transacciones, para hacer que todo sea consistente. e incluso preparar el sistema de BBDD para que sea altamente disponible, cosa que puede implicar o no sistemas distribuidos.

En otras palabras, es probable que tengas que rever el diseño de procesos y concurrencia, para que tu sistema sea estable, seguro y soporte la concurrencia que mencionas.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)