Hola eso siempre va a tardar, la temp esa no tiene indices!
Porque haces una temp?

El día 10 de septiembre de 2008 9:59, Ignacio Ayerbe
<[EMAIL PROTECTED]> escribió:
> Quizás me exprese mal con el tema de recorrer. Te paso más o menos lo que
> hace:
>
>
>
> Creo una tabla temporal:
>
>
>
> create table #p1 (id_tipo_iden int, numero_iden nvarchar(11),
> id_situacion_aplicar int, id_situacion_cendeu int, id_situacion_entidad int)
>
>
>
>
>
> Luego hago un INSERT INTO sencillo:
>
>
>
> insert into #p1
>
>       select a.id_tipo_iden,
>
>              a.numero_iden,
>
>              …
>
>
>
> Y por ultimo ejecuto varios (28 en total) UPDATEs de este tipo:
>
>
>
> update      #p1
>
>       set   id_situacion_aplicar = 1
>
>       where id_situacion_entidad < id_situacion_cendeu
>
>             and
>
>             (id_situacion_cendeu = 21 or id_situacion_cendeu = 22)
>
>             and
>
>             id_situacion_entidad = 1
>
>             and
>
>             @par83 = 0
>
>             and
>
>             @par84 <> 0
>
>
>
>
>
> Estos UPDATEs se aplican sobre la tabla temporal que posee 1.000.000 de
> registros. Esta es la parte que se queda procesando y nunca finaliza.
>
>
>
> Saludos
>
>
>
>
>
> De: [email protected] [mailto:[EMAIL PROTECTED] En nombre de Jose Mariano
> Alvarez
> Enviado el: Martes, 09 de Septiembre de 2008 07:03 p.m.
> Para: Ignacio Ayerbe
> Asunto: [dbms] Consulta sobre Performance de SP
>
>
>
> Que significa recorrer?
>
>
>
> Pasanos el script de la tabla y los indices de la tabla que tiene el update.
>
> También el update.
>
>
>
> Imagino que es un solo update por lo que cuentas. Es asi?
>
>
>
> saludos
>
> --------------------------------
> Atte.
> Ing. Jose Mariano Alvarez
> SQL Total Consulting
>
> On Tue, Sep 9, 2008 at 17:28, Ignacio Ayerbe
> <[EMAIL PROTECTED]> wrote:
>
> Buenos días Listeros.
>
>        Tengo un problema con un Stored Procedure corriendo en un MSSQL 2000,
> el tema es el siguiente: la base de datos pesa unos 12Gb y la tarea que debe
> realizar el Stored Procedure es recorrer alrededor de 1.000.000 de
> registros, meterlos en una tabla temporal y hacerles un Update a cada
> registro (el update es sencillo, solo modifica un campo de la tabla
> temporal).
>        El problema es que cuando ejecuto el proceso con 1.000 registros
> tarda 0 seg., con 100.000 registros tarda 10 minutos y cuando lo ejecuto con
> el 1.000.000 de registros directamente se queda como procesando y nunca
> finaliza.
>        ¿Alguien tiene una idea de cómo solucionar esto? ¿Hay que tocar algo
> en el servidor? ¿Qué tips me recomiendan para ejecutar acciones simples pero
> en gran volumen?
>
> Saludos y agradezco cualquier ayuda al respecto.
>
>



-- 
-----------------------------------------------------------
Microsoft MVP en SQL Server
Consultor en SQLTotalConsulting
Excelencia en servicios y consultoria SQLServer
www.sqltotalconsulting.com
-----------------------------------------------------------

Responder a