Insert into xx Select from yyy

20/06/2006 - 15:36 por FB | Informe spam
Hola. tengo el siguiente problema: necesito hacer insert masivos a una
tabla que tiene aprox. 10.000.000 registros. Necesito insertarles aprox.
200.000 por vez. El problema que tengo es que esta insercion demora bastante
y necesito bajar ese tiempo. Estimo que demora porque en cada insert va
reconstruyendo los indices de la tabla (que tiene 4). La pregunta es:
existe otro metodo para hacer este insert que sea mas rapido ?. una opcion
puede ser que no reindexe sino hasta el finale del insert (se puede?). Con
bulk insert no puedo porque los datos los tengo en SQLServer.

muchas gracias

Preguntas similare

Leer las respuestas

#1 Alejandro Mesa
20/06/2006 - 16:12 | Informe spam
FB,

elmina los indices, inserta la data y luego recrea los indices (al menos los
nonclustered - en el caso del clustered, ordena la data en la insercion).

drop index ...
drop index ...
drop index ...

insert into xxx(c1, c2, ..., cn)
select c1, c2, ..., cn
from yyy
order by c1

create index ...
create index ...
create index ...
go


AMB


"FB" wrote:

Hola. tengo el siguiente problema: necesito hacer insert masivos a una
tabla que tiene aprox. 10.000.000 registros. Necesito insertarles aprox.
200.000 por vez. El problema que tengo es que esta insercion demora bastante
y necesito bajar ese tiempo. Estimo que demora porque en cada insert va
reconstruyendo los indices de la tabla (que tiene 4). La pregunta es:
existe otro metodo para hacer este insert que sea mas rapido ?. una opcion
puede ser que no reindexe sino hasta el finale del insert (se puede?). Con
bulk insert no puedo porque los datos los tengo en SQLServer.

muchas gracias





Respuesta Responder a este mensaje
#2 Fabián
20/06/2006 - 16:40 | Informe spam
Gracias Alejandro.. lo probe , borre los indices, inserte y genere los
indices de nuevo pero demora mucho mas.





"Alejandro Mesa" escribió en el
mensaje news:
FB,

elmina los indices, inserta la data y luego recrea los indices (al menos
los
nonclustered - en el caso del clustered, ordena la data en la insercion).

drop index ...
drop index ...
drop index ...

insert into xxx(c1, c2, ..., cn)
select c1, c2, ..., cn
from yyy
order by c1

create index ...
create index ...
create index ...
go


AMB


"FB" wrote:

Hola. tengo el siguiente problema: necesito hacer insert masivos a una
tabla que tiene aprox. 10.000.000 registros. Necesito insertarles aprox.
200.000 por vez. El problema que tengo es que esta insercion demora
bastante
y necesito bajar ese tiempo. Estimo que demora porque en cada insert va
reconstruyendo los indices de la tabla (que tiene 4). La pregunta es:
existe otro metodo para hacer este insert que sea mas rapido ?. una
opcion
puede ser que no reindexe sino hasta el finale del insert (se puede?).
Con
bulk insert no puedo porque los datos los tengo en SQLServer.

muchas gracias





Respuesta Responder a este mensaje
#3 Hernan Nieto
20/06/2006 - 17:10 | Informe spam
FB,

Si los datos vienen externamente a la Bd, podrias hacerlo por importacion de
archivos TXT. Eso si anda rapido.

Saludos.
Respuesta Responder a este mensaje
#4 Fabián
20/06/2006 - 17:53 | Informe spam
Tengo los datos en MDB y lo paso a SQL modifico algunos datos.. agrego otros
y luego realizo el insert.. por lo que no puedo hacerlo desde txt ..Gracias
Igual.



"Hernan Nieto" escribió en el mensaje
news:%
FB,

Si los datos vienen externamente a la Bd, podrias hacerlo por importacion
de archivos TXT. Eso si anda rapido.

Saludos.

Respuesta Responder a este mensaje
#5 Isaias
20/06/2006 - 22:48 | Informe spam
¿Cuanto es lo que se tarda y cuanto querrias que fuera?
Saludos
IIslas


"Fabián" wrote:

Tengo los datos en MDB y lo paso a SQL modifico algunos datos.. agrego otros
y luego realizo el insert.. por lo que no puedo hacerlo desde txt ..Gracias
Igual.



"Hernan Nieto" escribió en el mensaje
news:%
> FB,
>
> Si los datos vienen externamente a la Bd, podrias hacerlo por importacion
> de archivos TXT. Eso si anda rapido.
>
> Saludos.
>



Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida