mejorar sentencia update

18/11/2005 - 09:37 por Ricardo Escudero | Informe spam
teniendo la sentecia sql:

update tabla_alm set stock=TMP.campo02
from #tmp TMP
where TMP.campo01=tabla_alm.campo01 and tabla_alm.campo02='321'

y 27000 registros que hay en la tabla #tmp
como se podria mejorar para que se ejecute en menos de 90 segundos.

la tabla_alm esta relacionada con 10 tablas.

Preguntas similare

Leer las respuestas

#1 Carlos Sacristán
18/11/2005 - 11:46 | Informe spam
Necesitaríamos el script completo tanto de la tabla temporal como de
'tabla_alm', así como el plan de ejecución de esa consulta para poder
ayudarte. No existe una receta mágica para mejorar el rendimiento de una
consulta, hay que saber qué es lo que está demorando el proceso


Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

"Ricardo Escudero" escribió en el mensaje
news:
teniendo la sentecia sql:

update tabla_alm set stock=TMP.campo02
from #tmp TMP
where TMP.campo01=tabla_alm.campo01 and tabla_alm.campo02='321'

y 27000 registros que hay en la tabla #tmp
como se podria mejorar para que se ejecute en menos de 90 segundos.

la tabla_alm esta relacionada con 10 tablas.


Respuesta Responder a este mensaje
#2 Ricardo Escudero
18/11/2005 - 13:16 | Informe spam
es esta linea , ya que al resto le he puesto trazas y me tarda 8 segundos.

la tabla temporal se crea :

create table #tabla_temporal(campo01 varchar(10),..)

"Carlos Sacristán" <csacristanARROBAmvpsPUNTOorg> escribió en el mensaje
news:
Necesitaríamos el script completo tanto de la tabla temporal como de
'tabla_alm', así como el plan de ejecución de esa consulta para poder
ayudarte. No existe una receta mágica para mejorar el rendimiento de una
consulta, hay que saber qué es lo que está demorando el proceso


Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

"Ricardo Escudero" escribió en el mensaje
news:
teniendo la sentecia sql:

update tabla_alm set stock=TMP.campo02
from #tmp TMP
where TMP.campo01=tabla_alm.campo01 and tabla_alm.campo02='321'

y 27000 registros que hay en la tabla #tmp
como se podria mejorar para que se ejecute en menos de 90 segundos.

la tabla_alm esta relacionada con 10 tablas.






Respuesta Responder a este mensaje
#3 Eleazar Nuñez
18/11/2005 - 15:26 | Informe spam
Hola es una buena practica usar alias

update t1
set t1.stock= TMP.campo02
from tabla_alm t1
Inner Join #tmp TMP
On TMP.campo01 = t1.campo01
where t1.campo02 = '321'

"Ricardo Escudero" escribió en el mensaje
news:
es esta linea , ya que al resto le he puesto trazas y me tarda 8 segundos.

la tabla temporal se crea :

create table #tabla_temporal(campo01 varchar(10),..)

"Carlos Sacristán" <csacristanARROBAmvpsPUNTOorg> escribió en el mensaje
news:
> Necesitaríamos el script completo tanto de la tabla temporal como de
> 'tabla_alm', así como el plan de ejecución de esa consulta para poder
> ayudarte. No existe una receta mágica para mejorar el rendimiento de una
> consulta, hay que saber qué es lo que está demorando el proceso
>
>
> Un saludo
>
> -
> "Sólo sé que no sé nada. " (Sócrates)
>
> "Ricardo Escudero" escribió en el mensaje
> news:
>> teniendo la sentecia sql:
>>
>> update tabla_alm set stock=TMP.campo02
>> from #tmp TMP
>> where TMP.campo01=tabla_alm.campo01 and tabla_alm.campo02='321'
>>
>> y 27000 registros que hay en la tabla #tmp
>> como se podria mejorar para que se ejecute en menos de 90 segundos.
>>
>> la tabla_alm esta relacionada con 10 tablas.
>>
>>
>
>


Respuesta Responder a este mensaje
#4 Tinoco
18/11/2005 - 17:26 | Informe spam
Hola Ricardo,

Puede que un indice en la tabla "tabla_alm" por campo01 y campo02 mejore el
redimiento del Update, mejor aun si estos campos son bastante "selectivos".

Pero como te dice Carlos, esto no tiene una teoria exacta.

Hermilson Tinoco.
Colombia


"Ricardo Escudero" wrote:

teniendo la sentecia sql:

update tabla_alm set stock=TMP.campo02
from #tmp TMP
where TMP.campo01=tabla_alm.campo01 and tabla_alm.campo02='321'

y 27000 registros que hay en la tabla #tmp
como se podria mejorar para que se ejecute en menos de 90 segundos.

la tabla_alm esta relacionada con 10 tablas.



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