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

duda con start transaction

Estas en el tema de duda con start transaction en el foro de Mysql en Foros del Web. creo que la pregunta anterior no la forumle bien pero espero que con esta se comprenda lo que pregunto primeramente ya me decidi por start ...
  #1 (permalink)  
Antiguo 15/11/2010, 19:49
 
Fecha de Ingreso: noviembre-2010
Mensajes: 7
Antigüedad: 14 años, 1 mes
Puntos: 0
Pregunta duda con start transaction

creo que la pregunta anterior no la forumle bien pero espero que con esta se comprenda lo que pregunto
primeramente ya me decidi por

start transaction;
select @a:=sum(salary) from table1 where type=1;
update table2 set summary=@a where type=1;
commit;


y me surgio una duda; El commit solo se va a poner hasta el final de todos los querys que haga?

esto por un lado por otro lado parece que entendi que usando

start transaction no es necesario usar los famosos locks
  #2 (permalink)  
Antiguo 15/11/2010, 21:23
Avatar de lair  
Fecha de Ingreso: enero-2009
Ubicación: header('Location: Morelia");
Mensajes: 1.052
Antigüedad: 15 años, 11 meses
Puntos: 46
Respuesta: duda con start transaction

Hola.

Claro que no es necesario pero, mientras estas trabajando con la trasaccion todo se hace de manera "virtual" por llamarlo de alguna manera, por lo que es bueno que nadie acceda ya se leyendo o escribiendo datos que tu vas a manipular, dependiendo del caso, usas un tipo de bloqueo.

Tambien seria bueno que investigaras algo a cerca de niveles de aislamiento
READ UNCOMMITED
READ COMMITED
REPEATABLE READ
SERIALIZABLE

http://dev.mysql.com/doc/refman/5.0/...isolation.html

Suerte.
  #3 (permalink)  
Antiguo 15/11/2010, 21:50
 
Fecha de Ingreso: noviembre-2010
Mensajes: 7
Antigüedad: 14 años, 1 mes
Puntos: 0
Pregunta Respuesta: duda con start transaction

muchas gracias por tu respuesta solo que con tu respuesta me surgió otra duda mas el rollback es implícito en la transacción o sea no lo debo de poner por el simple hecho de ser una transacción.

y por otro lado debo comentar que la aplicación va a tener una concurrencia diaria al menos de 80 personas conectadas lo que me implica pensar en si debo poner mas mecanismos que garanticen la integridad.
  #4 (permalink)  
Antiguo 16/11/2010, 13:56
Avatar de lair  
Fecha de Ingreso: enero-2009
Ubicación: header('Location: Morelia");
Mensajes: 1.052
Antigüedad: 15 años, 11 meses
Puntos: 46
Respuesta: duda con start transaction

El roll back es una especie de cancel con el que todo lo que hiciste (que como decia antes de manera virtual) es deshecho y la bd vuelve a su estado original antes de la transaccion,

con respecto a la concurrencia que vas a manejar seria bueno que analizaras bien que tablas y cuando es que deben estar bloqueadas.

haz pruebas tu mismo, habre dos promt's de mysql y realiza bloqueos, transacciones para que veas como es el comportamiento y definas cual es la mejor forma en la que debe de trabajar tu sistema.

Suerte.

Etiquetas: lock, mysql5, transacciones
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 03:15.