Ver Mensaje Individual
  #4  
Antiguo 26-01-2009
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.737
Reputación: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Al final de cuentas, lo importante es que las transacciones esten vivas el menor tiempo posible.

Esto quiere decir que puedes tener una o muchas, pero tienes que tratar de que graben sus datos lo antes posible.

Un ejemplo:

Cada acción tiene su StartTransaction y su Commit. La cantidad de transacciones abiertas es siempre 1.
Código:
T1.StartTransaction --- ultima transaccion activa=1, próxima transacción=2
insert factura número 1.
T1.Commit --- ultima transaccion activa=1, próxima transacción=2

T2.StartTransaction --- ultima transaccion activa=2, próxima transacción=3
insert factura número 2.
T2.Commit --- ultima transaccion activa=2, próxima transacción=3

T3.StartTransaction --- ultima transaccion activa=3, próxima transacción=4
insert factura número 3.
T3.Commit --- ultima transaccion activa=3, próxima transacción=4

T4.StartTransaction --- ultima transaccion activa=4, próxima transacción=5
update factura numero 1
T4.Commit --- ultima transaccion activa=4, próxima transacción=5
Se abren transacciones con StartTransaction pero no se hace Commit hasta cerrar la aplicación. La cantidad de transacciones abiertas sube con cada acción.
(En este caso T1 se abre al principio y se cierra la última. Esto hace que el resto de transacciones deban esperar a que se haga commit, para poder hacer commit de sus propios datos)
Código:
T1.StartTransaction --- ultima transaccion activa=1, próxima transacción=2
insert factura número 1.

T2.StartTransaction --- ultima transaccion activa=1, próxima transacción=3
insert factura número 2.

T3.StartTransaction --- ultima transaccion activa=1, próxima transacción=4
insert factura número 3.

T4.StartTransaction --- ultima transaccion activa=1, próxima transacción=5
update factura numero 1
T4.Commit --- ultima transaccion activa=1, próxima transacción=5
T3.Commit --- ultima transaccion activa=1, próxima transacción=5
T2.Commit --- ultima transaccion activa=1, próxima transacción=5
T1.Commit --- ultima transaccion activa=5, próxima transacción=5

Última edición por duilioisola fecha: 26-01-2009 a las 18:25:33.
Responder Con Cita