Cita:
Empezado por duilioisola
De este modo, las transacciones serán más cortas (hecho deseable) y guardarán menos información para el caso de que fallen y haya que hacer un rollback.
Lo malo es que si falla después de la primera iteración, deberás deshacer los cambios de lo que haya hecho antes manualmente.
|
Es deseable que las transacciones sean cortas... pero, desde mi punto de vista, haciendo esto la transacción como tal perdería sentido.
Si todos los registros forman parte de una transacción... la transacción mas corta será aquella que los inserte todos, sin mas espera.
Así que yo englobaría todo en una única transacción, tarde lo que tarde.
Ahora, si los registros no tienen por que necesariamente pertenecer a una sola transacción, si creo que podrías partir en varios fragmentos una carga muy pesada, lo que beneficiará el tiempo total de ejecución al aliviar la carga de memoria del servidor.
Yo mismo he hecho esto, en ciertos procesos de carga masiva donde, por ejemplo, hago un commit cada 5000, 10000 o 25000 registros.
Hasta luego.