SQL Server - Actualización de varios registros

   
Vista:

Actualización de varios registros

Publicado por ojsw2002@yahoo.es (16 intervenciones) el 20/04/2009 16:07:27
Saludos

Gracias por su tiempo

Tengo una base de datos con SQL Server Express edición 2005
Estoy modificando una tabla de 1, 000,000 registros y ocupo según una condición estar modificando 120,000 registros en dicha tabla los campos de las coediciones están indexadas pero aun así se tarda como 20 minutos en la PC donde esta SQL Server tengo 2 GB en RAM y 80 GB en disco duro será que SQL Server Express no es para dicha cantidad de información o es que la PC no ayuda mucho
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Isaias

RE:Actualización de varios registros

Publicado por Isaias (3186 intervenciones) el 21/04/2009 02:58:42
Podrias enviar la descripcion de tu tabla (indices, campos, etc) y enviar la rutina de actualizacion?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Actualización de varios registros

Publicado por ojsw2002@yahoo.es (16 intervenciones) el 22/04/2009 03:04:53
Ok

la tabla tiene basicamente 3 campos indices dos de tipo varchar2 y uno de tipo DateTime

el sql es el siguiente

UPDATE Tbl_Contacto
SET Campo_Txt = '10' este campo es de tipo varchar2
WHERE TA = 'AL00' este campo es indice y es de tipo varchar2
AND RGID = 'LO00' este campo es indice y es de tipo varchar2
AND Fecha = '01/01/2009' este campo es indice y es de tipo datetime

Gracias por su tiempo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias

RE:Actualización de varios registros

Publicado por Isaias (3186 intervenciones) el 22/04/2009 04:44:32
WHERE TA = 'AL00' este campo es indice y es de tipo varchar2

--- No puedes comparar 'AL00', con un campo varchar de 2 posiciones

AND RGID = 'LO00' este campo es indice y es de tipo varchar2

--- No puedes comparar 'AL00', con un campo varchar de 2 posiciones

AND Fecha = '01/01/2009'

Las fechas no se comparan asi, deben ser:

AND Fecha >= '20090101'

Ademas, creo que el primer WHERE debe ser el de la fecha, de lo contrario, LEERA TODOS los registros para encontrar al final la fecha
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar