¿No es mejor INSERTS en grupo que una a una?

20/02/2007 - 12:18 por Victor | Informe spam
Hola.

he cambiado un SP el cuál, dentro de un WHILE realizaba, en 8 tablas, 1
INSERT en cada una de ellas. El While tiene entre 2 y 4 "ciclos".

Más o menos es así:

insert into ic_billetes
select . from ic_billetes where bil_id = @bil

SELECT @bil_id = (SELECT SCOPE_IDENTITY())

insert into ic_bilper
select . from ic_bilper where bip_bil_id = @bil

y así hasta 8 tablas unas 2 o cuatro veces.

"Brillante" ida mia: me creo unas variables del tipo table, dentro del WHILE
realizao los INSERTS en las tablas temporales y así luego realizo de golpe
los INSERTS. De esta forma los SELECTS de los INSERTS en las tablas buenas
son un poco más complicadas, pero no son mucho más pesadas (lo he mirado con
el plan de ejecución).

El problema que tengo es que tarda más la nueva forma que la anterior (si
eran 4'' ahora son 8'' o 9'').

¿No es, en principio, una buena idea? ¿O no?

Sé que depende los índices y de los SELECTS, pero en principio es mejor
realizar las operaciones en grupo que indidual, ¿no?

Muchas gracias.
 

Leer las respuestas

#1 Alfredo Novoa
20/02/2007 - 12:25 | Informe spam
On Tue, 20 Feb 2007 12:18:52 +0100, "Victor" wrote:


Sé que depende los índices y de los SELECTS, pero en principio es mejor
realizar las operaciones en grupo que indidual, ¿no?



Por supuesto, mucho mejor.

Preguntas similares