Update que tarda un huevo

28/09/2007 - 18:51 por David | Informe spam
Muy buenas, utilizo Microsoft SQL Server 2000, el escenario es el siguiente:

(1) TablaConAcumulados [tca]: unos 800 registros

(2) TablaConMovimiento [tcm]s: unos 30.000 registros

(3) VistaCombinada [VC]: Vista de las dos anteriores tablas donde de forma
INSTÁNTANEA SQL Server realiza la unión: muestra los 800 registros de la
TablaConAcumulados mostrando un campo donde ha realizado ciertos cálculos
con los datos de la TablaConMovimientos.

Hasta aquí todo correcto, pero, por necesidades de "rendimiento" (es curioso
por lo que viene ahora) y por un tema de entrega del proyecto, necesito
actualizar un campo de la TablaConAcumulados con los resultados del campo
anterior de la VistaCombinada, esta es la consulta:

UPDATE tca

SET
acumulador
(
SELECT campocalculado
FROM VC

tca.ID1 = VC.ID1
AND

tca.ID2 = VC.ID2
AND

tca.ID3 = VC.ID3
AND

tca.ID4 = VC.ID4
)

Tarda un huevo como 10 minutos, ¿cómo se podria aguilizar?

Preguntas similare

Leer las respuestas

#1 Alejandro Mesa
28/09/2007 - 19:54 | Informe spam
Hola David,

Chequea que ambas tablas tengan un indice por esas columnas y prueba usando
un join.


UPDATE tca
SET
tca.acumulador = VC.campocalculado
from
tca inner join VC
on
tca.ID1 = VC.ID1
AND
tca.ID2 = VC.ID2
AND
tca.ID3 = VC.ID3
AND
tca.ID4 = VC.ID4

Compara los planes de ejecucion.

AMB

"David" wrote:

Muy buenas, utilizo Microsoft SQL Server 2000, el escenario es el siguiente:

(1) TablaConAcumulados [tca]: unos 800 registros

(2) TablaConMovimiento [tcm]s: unos 30.000 registros

(3) VistaCombinada [VC]: Vista de las dos anteriores tablas donde de forma
INSTÁNTANEA SQL Server realiza la unión: muestra los 800 registros de la
TablaConAcumulados mostrando un campo donde ha realizado ciertos cálculos
con los datos de la TablaConMovimientos.

Hasta aquí todo correcto, pero, por necesidades de "rendimiento" (es curioso
por lo que viene ahora) y por un tema de entrega del proyecto, necesito
actualizar un campo de la TablaConAcumulados con los resultados del campo
anterior de la VistaCombinada, esta es la consulta:

UPDATE tca

SET
acumulador >
(
SELECT campocalculado
FROM VC

tca.ID1 = VC.ID1
AND

tca.ID2 = VC.ID2
AND

tca.ID3 = VC.ID3
AND

tca.ID4 = VC.ID4
)

Tarda un huevo como 10 minutos, ¿cómo se podria aguilizar?




Respuesta Responder a este mensaje
#2 David
28/09/2007 - 22:47 | Informe spam
Tenían los índices.

Uh!!!, con tu propuesta (usando un join.), la actualización es INSTANTANEA,
sólo decir gracias, mil gracias.

¿Pero con es posible la variación en el rendimiento (10, 15 minutos frente a
INSTANTÁNEA)?

Reitero las gracias.
Respuesta Responder a este mensaje
#3 Alejandro Mesa
28/09/2007 - 23:59 | Informe spam
Hola David,

La respuesta la encontraras en los planes de ejecucion.


AMB

"David" wrote:

Tenían los índices.

Uh!!!, con tu propuesta (usando un join.), la actualización es INSTANTANEA,
sólo decir gracias, mil gracias.

¿Pero con es posible la variación en el rendimiento (10, 15 minutos frente a
INSTANTÁNEA)?

Reitero las gracias.




Respuesta Responder a este mensaje
#4 David
29/09/2007 - 00:27 | Informe spam
Lo miraré, aunque soy novato total y quizá le tenga que echar un buen rato
hasta entender el plan de ejecución, de cualquier forma más allá de la
solución puntual a un gran problema de rendimiento, cada día que leo el foro
APRENDO de todos y cada uno, ojalá algún día (se me antoja lejano) pueda
aportar alguna que otra solución. En fin gracias a los anónimamente regalais
vuestra EXPERIENCIA .
Respuesta Responder a este mensaje
#5 Alejandro Mesa
29/09/2007 - 03:42 | Informe spam
David,

Claro que si, en cuanto menos te lo inmagines estaras aportando al grupo.

Saludos,
Alejandro Mesa

"David" wrote:

Lo miraré, aunque soy novato total y quizá le tenga que echar un buen rato
hasta entender el plan de ejecución, de cualquier forma más allá de la
solución puntual a un gran problema de rendimiento, cada día que leo el foro
APRENDO de todos y cada uno, ojalá algún día (se me antoja lejano) pueda
aportar alguna que otra solución. En fin gracias a los anónimamente regalais
vuestra EXPERIENCIA .




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