¿Alguna forma de evitar varios FULL OUTER JOIN?

25/02/2004 - 10:23 por Eje | Informe spam
Sigo con el procedimiento aquel que conseguí rebajar de 8 horas a 20 minutos
con vuestra ayuda. Ahora me han cambiado criterios de cálculo y tengo un
nuevo problema.
Para los que no lo recuerden, el procedimiento hace cálculos en 5 tablas, en
función de un periodo dado. Antiguamente se extraían de 2 de esas 5 tablas,
las claves de los registros que había que calcular en las otras 3. Bueno,
pues ahora resulta que no es así, y hay que calcular en las 5 tablas
independientemente, para todas aquellos registros que tengan movimientos en
el periodo de tiempo a calcular.
La cuestión es que algunos registros pueden tener movimientos en unas tablas
sí y en otras no, con lo cual lo que hago es insertar los resultados de cada
una de las 5 tablas en una tabla temporal. Cada tabla temporal tiene 5
campos que forman la clave del registro, y luego entre 2 y 4 campos de
resultados de los cálculos.
El problema viene al tener que reunir todos esos datos para insertarlos en
la tabla real; ya que como puede darse el caso de estar en unas tablas sí y
en otras no, tengo que hacer un FULL OUTER JOIN de las 5 tablas temporales
(por los 5 campos clave).
El proceso ha pasado de 12 minutos a 31, y me pregunto si se os ocurre
alguna alternativa para evitar ese insert con los 4 FULL OUTER JOIN, porque
a mí no se me ocurre ninguna otra.

Un saludo
 

Leer las respuestas

#1 Maximiliano D. A.
25/02/2004 - 13:37 | Informe spam
Hola, lamentablemente sin la estructura y el Query se me hace imposible
poder ayudarte mejor, pero estoy casi seguro que el uso de la tabla temporal
no lo necesitarias.

Si quieres pasame como estas haciendo las cosas y las estructuras bien
detalladas dentro de lo posible y vemos como armarte el Query de forma mas
optima.

Bye


Salu2
Maxi
Buenos Aires Argentina
Desarrollador Microsoft 3 Estrellas .NET
[Maxi_accotto[arroba]speedy[punto]com[punto]ar
MSN:


"Eje" escribió en el mensaje
news:c1hpf2$1hubkc$
Sigo con el procedimiento aquel que conseguí rebajar de 8 horas a 20


minutos
con vuestra ayuda. Ahora me han cambiado criterios de cálculo y tengo un
nuevo problema.
Para los que no lo recuerden, el procedimiento hace cálculos en 5 tablas,


en
función de un periodo dado. Antiguamente se extraían de 2 de esas 5


tablas,
las claves de los registros que había que calcular en las otras 3. Bueno,
pues ahora resulta que no es así, y hay que calcular en las 5 tablas
independientemente, para todas aquellos registros que tengan movimientos


en
el periodo de tiempo a calcular.
La cuestión es que algunos registros pueden tener movimientos en unas


tablas
sí y en otras no, con lo cual lo que hago es insertar los resultados de


cada
una de las 5 tablas en una tabla temporal. Cada tabla temporal tiene 5
campos que forman la clave del registro, y luego entre 2 y 4 campos de
resultados de los cálculos.
El problema viene al tener que reunir todos esos datos para insertarlos en
la tabla real; ya que como puede darse el caso de estar en unas tablas sí


y
en otras no, tengo que hacer un FULL OUTER JOIN de las 5 tablas temporales
(por los 5 campos clave).
El proceso ha pasado de 12 minutos a 31, y me pregunto si se os ocurre
alguna alternativa para evitar ese insert con los 4 FULL OUTER JOIN,


porque
a mí no se me ocurre ninguna otra.

Un saludo







Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.593 / Virus Database: 376 - Release Date: 21/02/2004

Preguntas similares