Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Pregunta sobre lock tables

Estas en el tema de Pregunta sobre lock tables en el foro de Mysql en Foros del Web. Hola Me gustaria saber la utilidad (no como se usa) del lock tables , es decir cual es su finalidad , sus usos. Porque ya ...
  #1 (permalink)  
Antiguo 04/10/2009, 07:22
 
Fecha de Ingreso: junio-2008
Mensajes: 53
Antigüedad: 16 años, 5 meses
Puntos: 1
Pregunta sobre lock tables

Hola

Me gustaria saber la utilidad (no como se usa) del lock tables , es decir cual es su finalidad , sus usos.

Porque ya se que bloquea y no deja escribir a otros procesos hasta que actual termine , pero cual es la verdadera utilidad de eso


saludos
  #2 (permalink)  
Antiguo 04/10/2009, 09:24
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 9 meses
Puntos: 360
Respuesta: Pregunta sobre lock tables

Imagina una copia de seguridad de tu base de datos de producción. Que pasaría mientras copia los datos de una tabla, los usurios están haciendo en ese mismo momento actualizaciones de la tabla o consultas seguidas de las mismas tablas. Cuando haces uso de lock table es para bloquear las tablas hasta terminar cualquier proceso relacionado con la misma.

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 04/10/2009, 10:02
 
Fecha de Ingreso: junio-2008
Mensajes: 53
Antigüedad: 16 años, 5 meses
Puntos: 1
Respuesta: Pregunta sobre lock tables

vale pero en el caso que dices tu

que mas daria que cuando estas extrayendo toda la info , haya alguien que modifica?

Es decir si estas haciendo la copia y justo alguien edita algo , esa copia no saldria con lo editado ? , y por lo tanto seria bueno , o pasaria otra cosa?
  #4 (permalink)  
Antiguo 04/10/2009, 14:14
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Pregunta sobre lock tables

Imagina dos personas accediendo a la misma cuenta bancaria compartida desde cajeros electrónicos diferentes y al mismo tiempo, usando cada uno su clave:
El usuario A consulta el saldo, y luego el B lo hace (uno o dos segundos después).Ambos ven el mismo saldo de 1500 loquesea.
A realiza primero una extracción de1000; un segundo después, B realiza un pago electrónico de una compra por 1200. Pero el sistema (por razones de software, el pago electrónico entra primero a la central y se acredita. Esto hace que cuando el sistema recibe la petición de los 1000, ya no existe saldo para cubrir el retiro. ¿Cómo se evita eso?

Te doy otro caso:
A revisa un registro de datos, para actualizar valores. B (desde otra terminal) lo manda a borrar. Para cuando entra la modificación de A el sistema colapsa porque el registro ya ha dejado de existir, y nadie ha advertido el problema a nivel de la aplicación.

En definitiva, para eso sirven las transacciones, y para ello se determinan los bloqueos de tablas: Para evitar que dos procesos concurrentes realicen tareas que se excluyan entre sí.

¿Te imaginas el resultado de problemas así en el software de control de un reactor nuclear, o un oleoducto? Bueno, en el nivel de procesos de datos pasa lo mismo, lo que te puede hacer es dejar cerrado todo el sistema de cajas de una red de 500 sucursales de supermercados... por ejemplo.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:58.