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

no entiendo el funcionamiento del bloqueo de tablas con mysql

Estas en el tema de no entiendo el funcionamiento del bloqueo de tablas con mysql en el foro de Bases de Datos General en Foros del Web. Hola a todos. No entiendo muy bien el comportamiento de mysql a la hora de bloquear tablas. Me explico mejor: Yo bloqueo una tabla de ...
  #1 (permalink)  
Antiguo 16/06/2004, 08:29
 
Fecha de Ingreso: marzo-2004
Mensajes: 550
Antigüedad: 20 años, 1 mes
Puntos: 7
Sonrisa no entiendo el funcionamiento del bloqueo de tablas con mysql

Hola a todos. No entiendo muy bien el comportamiento de mysql a la hora de bloquear tablas. Me explico mejor:
Yo bloqueo una tabla de mi base de datos y antes de ejecutar el correspondiente desbloqueo quiero consultar otra tabla. Entonces mysql me obliga a bloquear tambien esa otra tabla(aunque no me sirva para nada dicho bloqueo) porque sino me da el error de que dicha tabla no esta bloqueada.
Mirando en el manula especifica que cuando se bloquea una tabla, deben ser bloqueadas todas las tablas sobre las que se realizen consultas antes de ejecutar la orden de desbloqueo (no entiendo porque se debe hacer esto).
Mi problema viene en lo siguiente:

Tengo un programa java que se conecta a mi base de datos mysql. Tengo una funcion en la que debo bloquear una tabla para evitar problemas. Como a su vez realizo otras consultas, pues bloqueo tambien estas otras tablas PERO ES QUE A SU VEZ TENGO UNOS HILOS QUE SE EJECUTAN DE VEZ EN CUANDO(NO SE EL TIEMPO EXACTO EN QUE SE VAN A EJECUTAR) que tambien realizan consultas a tablas por lo que si coincide el bloqueo de mi tabla en la funcion comentada anteriormente con la ejecucion de dicho hilo me da el error de que intente acceder a una tabla que no estaba bloqueada(esto con mi hilo) POR LO QUE TENGO QUE BLOQUEAR ADEMAS EN MI FUNCION ANTERIOR LAS TABLAS A LAS QUE ACCEDE MI HILO POR SI SE DIERA ESTE CASO DE CONCURRENCIA COMENTADO.

Me parece muy fuerte tener que controlar todas estas cosas y muy chapuzero.

¿no hay otra forma de hacer esto mejor?

No veo logico tener que bloquear practicamente todas mis tablas de mi base de datos en una funcion por si acaso se ejecuta una consulta a una tabla en un hilo aparte.

Un saludo
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:40.