Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Optimizacion de BD (Problema de Rendimiento)

Estas en el tema de Optimizacion de BD (Problema de Rendimiento) en el foro de SQL Server en Foros del Web. Un saludo a todos: Les escribo solicitando ayuda o algún consejo para solucionar un problema, es el siguiente: Tengo un servidor SQL con una BD ...
  #1 (permalink)  
Antiguo 10/08/2006, 10:52
Avatar de venom_plus  
Fecha de Ingreso: marzo-2002
Ubicación: Nogales, Sonora
Mensajes: 61
Antigüedad: 22 años, 1 mes
Puntos: 0
Optimizacion de BD (Problema de Rendimiento)

Un saludo a todos:
Les escribo solicitando ayuda o algún consejo para solucionar un problema, es el siguiente:
Tengo un servidor SQL con una BD llamada Oasis instalada, esa BD tiene una tabla llamada BOM_History esta tabla crece a una razón de unos 200,000 registros por día.
Una aplicación de VB en el servidor es la encargada de calcular pagos de impuestos, insertar esos 200,000 registros en esa tabla y en otras más, es un proceso muy pesado que tarda unas 3 horas por las noches.
Ultimamente el programa ha enviado errores de Time Out y no termina la ejecución, al "debuguearlo" detecté que el error es al insertar los registros en esa tabla específica (BOM_History), la instrucción insert no es complicada es un insert "directo";es decir, no hay subconsultas o algo parecido.
Sí realiza inserción de los registros pero llega un momento en que no puede más el sql y regresa un Time Out, ya verifiqué si hay algo mal en las instrucciones y nada raro, incluso si ejecuto el mismo insert desde Query Analizer unos veces lo hace en menos de 1 segundo y otras tarda 15 segundos en ejecutarse.
La tabla tiene como llave primaria tres campos: Assembly (varchar 25) se almacenan números de parte,
Date_added (datetime) la fecha en que se inserta el registro, Item_number (int 4) un consecutivo de cada numero de parte.
Ya he depurado la tabla (de 70,000,000 a 10,000,000), ejecuto 4 veces al día respaldos del log, ejecuto DBCC UPDATEUSAGE y INDEXDEFRAG en la tabla y el Time Out continúa ya no con tanta frecuencia pero siempre ocurre al insertar en BOM_History.
Ustedes que piensan? que me recomiendan hacer o tienen algun link que pueda ayudarme?

Gracias
  #2 (permalink)  
Antiguo 10/08/2006, 14:38
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años
Puntos: 25
Cuando se insertan buenas cantidades de datos suele ser rentable tirar los índices y reconstruirlos al terminar la inserción masiva. Es más rentable que la sobrecarga de manejo de índices por registro.

Adicionalmente considera el uso de BULK INSERT o BCP en lugar de INSERT, que son especializados en el manejo de volúmenes fuertes de datos.
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:14.