Optimizacion en proceso de carga de tablas

28/02/2004 - 00:19 por Yasmin | Informe spam
Hola a todos,

Espero que me puedan ayudar con esto.

Tengo un proceso en donde por medio de dts se carga de
unos planos a tablas temporales y luego por medio de un
procedimiento se pasan las temporales de sql a las
definitivas (cuando digo temporales me refiero a tablas
fijas que sirven como estrucutras intermedias).

Se puede realizar insert o update dependiendo de que los
datos existan o no.

Pero existe adicional a ello una conversion que se realiza
de los codigos adicionando un codigo especial a las
llaves.

Como se podria optimizar los isnert y updates de este
proceso.???

Preguntas similare

Leer las respuestas

#1 Gustavo Larriera [MVP SQL]
28/02/2004 - 01:29 | Informe spam
A ver si esta es la idea general de tu procesamiento:

1. Lees registros de datos desde un archivo plano

2. Si el registro leido existe en la tabla intermedia: Realizas un UPDATE.
Caso contrario INSERTas el registro leido en la tabla intermedia.

Luego conviertes los códigos de las tablas intermedias? O haces la
conversión en el mismo momento del INSERT/UPDATE ?

Es eso lo que haces?

Gustavo Larriera, MVP-SQL, MCSE
Uruguay LatAm

Este mensaje se proporciona "como está" sin garantías de ninguna clase, y no
otorga ningún derecho.


"Yasmin" wrote in message
news:3a2001c3fd88$15dfe480$
Hola a todos,

Espero que me puedan ayudar con esto.

Tengo un proceso en donde por medio de dts se carga de
unos planos a tablas temporales y luego por medio de un
procedimiento se pasan las temporales de sql a las
definitivas (cuando digo temporales me refiero a tablas
fijas que sirven como estrucutras intermedias).

Se puede realizar insert o update dependiendo de que los
datos existan o no.

Pero existe adicional a ello una conversion que se realiza
de los codigos adicionando un codigo especial a las
llaves.

Como se podria optimizar los isnert y updates de este
proceso.???



Respuesta Responder a este mensaje
#2 Yasmin
01/03/2004 - 21:39 | Informe spam
Gracias por responder.

No es exactamente,

La idea es que :

1. Por medio de dts paso de los planos a las estructuras
intermedias. (sin ninguna validacion)
2. Despues por medio de un procedimiento realizo update
para recodificar campos , por ejemplo, update empresa
set codigo_cliente = Cli_Codigo=Substring(LTrim(Rtrim(
Cli_Codigo)),1,22) +Substring(Rtrim(Ltrim
(Emp_Codigo)),1,3) sobre las temporales.
3. Y por ultimo en otro procedimiento realizo insert para
aquellos registros que vienen en la temporal y no existen
en la definitiva , o update para aquellos registros que ya
existen en la definitiva utilizando comandos not exists y
exists respectivamente.

A ver si esta es la idea general de tu procesamiento:

1. Lees registros de datos desde un archivo plano

2. Si el registro leido existe en la tabla intermedia:


Realizas un UPDATE.
Caso contrario INSERTas el registro leido en la tabla


intermedia.

Luego conviertes los códigos de las tablas intermedias? O


haces la
conversión en el mismo momento del INSERT/UPDATE ?

Es eso lo que haces?

Gustavo Larriera, MVP-SQL, MCSE
Uruguay LatAm

Este mensaje se proporciona "como está" sin garantías de


ninguna clase, y no
otorga ningún derecho.


"Yasmin" wrote in message
news:3a2001c3fd88$15dfe480$
Hola a todos,

Espero que me puedan ayudar con esto.

Tengo un proceso en donde por medio de dts se carga de
unos planos a tablas temporales y luego por medio de un
procedimiento se pasan las temporales de sql a las
definitivas (cuando digo temporales me refiero a tablas
fijas que sirven como estrucutras intermedias).

Se puede realizar insert o update dependiendo de que los
datos existan o no.

Pero existe adicional a ello una conversion que se




realiza
de los codigos adicionando un codigo especial a las
llaves.

Como se podria optimizar los isnert y updates de este
proceso.???







.

Respuesta Responder a este mensaje
#3 Gustavo Larriera [MVP SQL]
01/03/2004 - 23:16 | Informe spam
Parecería que en el paso 2 y el 3 provoca que hagas dos recorridas completas
sobre las tablas temporales. Deberias ver si es posible unir ambos pasos
(convertir el código e inmediatamente provocar un INSERT o UPDATE en la
tabla definitiva, según corresponda)

Como parece ser que, para saber si corresponde un INSERT o un UPDATE, haces
una búsqueda con EXIST, deberias indexar la tabla sobre la cual buscas en
las columnas apropiadas.

Gustavo Larriera, MVP-SQL, MCSE
Uruguay LatAm

Este mensaje se proporciona "como está" sin garantías de ninguna clase, y no
otorga ningún derecho.


"Yasmin" wrote in message
news:4d9c01c3ffcd$581dc370$
Gracias por responder.

No es exactamente,

La idea es que :

1. Por medio de dts paso de los planos a las estructuras
intermedias. (sin ninguna validacion)
2. Despues por medio de un procedimiento realizo update
para recodificar campos , por ejemplo, update empresa
set codigo_cliente = Cli_Codigo=Substring(LTrim(Rtrim(
Cli_Codigo)),1,22) +Substring(Rtrim(Ltrim
(Emp_Codigo)),1,3) sobre las temporales.
3. Y por ultimo en otro procedimiento realizo insert para
aquellos registros que vienen en la temporal y no existen
en la definitiva , o update para aquellos registros que ya
existen en la definitiva utilizando comandos not exists y
exists respectivamente.

A ver si esta es la idea general de tu procesamiento:

1. Lees registros de datos desde un archivo plano

2. Si el registro leido existe en la tabla intermedia:


Realizas un UPDATE.
Caso contrario INSERTas el registro leido en la tabla


intermedia.

Luego conviertes los códigos de las tablas intermedias? O


haces la
conversión en el mismo momento del INSERT/UPDATE ?

Es eso lo que haces?

Gustavo Larriera, MVP-SQL, MCSE
Uruguay LatAm

Este mensaje se proporciona "como está" sin garantías de


ninguna clase, y no
otorga ningún derecho.


"Yasmin" wrote in message
news:3a2001c3fd88$15dfe480$
Hola a todos,

Espero que me puedan ayudar con esto.

Tengo un proceso en donde por medio de dts se carga de
unos planos a tablas temporales y luego por medio de un
procedimiento se pasan las temporales de sql a las
definitivas (cuando digo temporales me refiero a tablas
fijas que sirven como estrucutras intermedias).

Se puede realizar insert o update dependiendo de que los
datos existan o no.

Pero existe adicional a ello una conversion que se




realiza
de los codigos adicionando un codigo especial a las
llaves.

Como se podria optimizar los isnert y updates de este
proceso.???







.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida