Update lento

12/04/2004 - 20:25 por Davo | Informe spam
Que tal. Tengo una base de datos de consulta, donde
incluyo y ACTUALIZO información de 34 puntos de venta
diferentes, tengo archivos donde almaceno los cambios y
nuevos registros, los cuales corro en este servidor de
consulta. Funciona de la siguiente manera, me traigo un
recorsert de la tabla en un archivo fisico, luego la carga
y comienzo a recorrerla, si existe el registro lo
actualiza y sino lo crea, muy sensillo, el problema es que
se pone lenta con una tabla de clientes (la mas grande)
principalmente cuando actualiza, porque cuando incluye es
rapida. PREGUNTA: Como puedo mejor el rendimiento de este
proceso, quizas cambiando indices, deshabilitandolos, o
cambiando alguna configuración de la tabla?.

GRACIAS.

Preguntas similare

Leer las respuestas

#1 Maximiliano D. A.
12/04/2004 - 20:32 | Informe spam
Hola!! bueno si recorres una tabla perdiste :( es lento de por si!! ahora
porque no hacer un update para los registros que existen y un insert para
los que no existen

Update set blala from tutabla_a_actualizar
inner join tunuevatabla on camposid = cvamposid

Insert into tutabla
select * from tunuevatabla where campo id not in (select id from tutabla)


algo asi!! es solo la idea nomas :-)


Salu2
Maxi

Buenos Aires Argentina
Desarrollador Microsoft 3 Estrellas .NET

MSN:
Nunca consideres el estudio como una obligación sino como
una oportunidad para penetrar en el bello y maravillosos
mundo del saber.
- Albert Einstein



"Davo" escribió en el mensaje
news:1bb0201c420bb$8cf92d50$
Que tal. Tengo una base de datos de consulta, donde
incluyo y ACTUALIZO información de 34 puntos de venta
diferentes, tengo archivos donde almaceno los cambios y
nuevos registros, los cuales corro en este servidor de
consulta. Funciona de la siguiente manera, me traigo un
recorsert de la tabla en un archivo fisico, luego la carga
y comienzo a recorrerla, si existe el registro lo
actualiza y sino lo crea, muy sensillo, el problema es que
se pone lenta con una tabla de clientes (la mas grande)
principalmente cuando actualiza, porque cuando incluye es
rapida. PREGUNTA: Como puedo mejor el rendimiento de este
proceso, quizas cambiando indices, deshabilitandolos, o
cambiando alguna configuración de la tabla?.

GRACIAS.



Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.655 / Virus Database: 420 - Release Date: 08/04/2004
#2 Jose Mariano Alvarez \(MUG\)
12/04/2004 - 20:47 | Informe spam
El UPDATE es mas lento que el Insert.
Por que no pasas los script de las tablas involucradas y sus indices y la
instrucion en cuestion.

Tambien seria bueno si habilitas el plan de ejcucion y lo envias.

SET SHOWPLAN_ALL ON
GO
UPDATE

Sugerencia
Por que no haces todo junto en tres instrucciones.
Subes todos los datos mediante BULKINSERT o BCP
Luego ejecutas el UPDATE con el join para actualizar TODOS los registros en
una sola instruccion y luego el INSERT de los que no existen usando WHERE
NOT EXISTS()

Jose Mariano Alvarez
Comunidad de base de datos
Grupo de Usuarios Microsoft
www.mug.org.ar



"Davo" wrote in message
news:1bb0201c420bb$8cf92d50$
Que tal. Tengo una base de datos de consulta, donde
incluyo y ACTUALIZO información de 34 puntos de venta
diferentes, tengo archivos donde almaceno los cambios y
nuevos registros, los cuales corro en este servidor de
consulta. Funciona de la siguiente manera, me traigo un
recorsert de la tabla en un archivo fisico, luego la carga
y comienzo a recorrerla, si existe el registro lo
actualiza y sino lo crea, muy sensillo, el problema es que
se pone lenta con una tabla de clientes (la mas grande)
principalmente cuando actualiza, porque cuando incluye es
rapida. PREGUNTA: Como puedo mejor el rendimiento de este
proceso, quizas cambiando indices, deshabilitandolos, o
cambiando alguna configuración de la tabla?.

GRACIAS.
Ads by Google
Search Busqueda sugerida