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

Optimizar consulta de 5 mil millones de registros

Estas en el tema de Optimizar consulta de 5 mil millones de registros en el foro de SQL Server en Foros del Web. Hola a todos!! Tengo una consulta un poco dificil de afrontar, os explico: Tenemos un servidor vinculado y quiero trarme una tabla que es la ...
  #1 (permalink)  
Antiguo 28/05/2010, 02:22
 
Fecha de Ingreso: mayo-2010
Mensajes: 4
Antigüedad: 14 años, 5 meses
Puntos: 0
Optimizar consulta de 5 mil millones de registros

Hola a todos!!

Tengo una consulta un poco dificil de afrontar, os explico:

Tenemos un servidor vinculado y quiero trarme una tabla que es la que tiene 5mil millones de registros, la primera vez me la traeré entera pero el resto de dias me traeré solo los registros que no están en la misma tabla de mi BD local.

Esta es mi consulta sql:

/*1º busco en el servidor remoto que registros no tengo en la tabla de mi servidor local y los inserto en una tabla temporal*/
SELECT TARJETA,TICKET,LINEA_TICKET,PRODUCTO
INTO #T1
FROM (
SELECT TARJETA,TICKET,LINEA_TICKET,PRODUCTO
FROM [172.12.1.268\SERVIDOR].BD_SERVIDOR.dbo.lineas_tickets
EXCEPT
SELECT TARJETA,TICKET,LINEA_TICKET,PRODUCTO
FROM dbo.lineas_tickets
) AS H

/*2º ahora inserto esos registros que me faltan en mi tabla del servidor local*/
INSERT INTO lineas_tickets
SELECT T.*
FROM #T1 AS T1
INNER JOIN [172.12.1.268\SERVIDOR].BD_SERVIDOR.dbo.lineas_tickets AS T
ON(T.TARJETA=T1.TARJETA AND T.TICKET=T1.TICKET AND T.LINEA_TICKET=T1.LINEA_TICKET AND T.PRODUCTO=T1.PRODUCTO)

NOTA 1: La clave primaria esta compuesta por:TARJETA,TICKET,LINEA_TICKET,PRODUCTO

NOTA 2: La tabla en servidor remoto y local son identicas (campos, estructura...)

NOTA3: Dependo totalmente de como esté la tabla del servidor remoto, es decir, no puedo modificarla, no puedo usar indices!!.

En conclusión, si se os ocurre alguna idea de como optimizar la consulta os lo agradezco, he probado ya algunas modificaciones pero nada lo mejora sustancialmente.

Saludos
  #2 (permalink)  
Antiguo 28/05/2010, 02:26
Avatar de Malenko
Moderador
 
Fecha de Ingreso: enero-2008
Mensajes: 5.323
Antigüedad: 16 años, 9 meses
Puntos: 606
Respuesta: Optimizar consulta de 5 mil millones de registros

Cita:
Iniciado por isidrator Ver Mensaje
Tenemos un servidor vinculado y quiero trarme una tabla que es la que tiene 5mil millones de registros, la primera vez me la traeré entera pero el resto de dias me traeré solo los registros que no están en la misma tabla de mi BD local.
Porque no usas las replicas?

http://msdn.microsoft.com/es-es/library/ms151198.aspx
__________________
Aviso: No se resuelven dudas por MP!
  #3 (permalink)  
Antiguo 28/05/2010, 02:55
 
Fecha de Ingreso: mayo-2010
Mensajes: 4
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: Optimizar consulta de 5 mil millones de registros

No habia oido hablar de eso nunca, me puedes decir como ser hace y si se puede hacer desde integration services.
Por cierto es en SQL server 2005
  #4 (permalink)  
Antiguo 28/05/2010, 03:03
 
Fecha de Ingreso: mayo-2010
Mensajes: 4
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: Optimizar consulta de 5 mil millones de registros

Ya entiendo lo que es la replica, problema: no puedo tocar el servidor remoto, no puedo ponerlo como publicador. Osea que necesito otra solución.
  #5 (permalink)  
Antiguo 28/05/2010, 16:26
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 19 años, 2 meses
Puntos: 39
Respuesta: Optimizar consulta de 5 mil millones de registros

Has probado con un archivo de texto?
La primera carga puede ser manual? Es decir la haces manualmente mediante un backup de tu tabla?
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.

Etiquetas: consula, consulta, optimizar, sql
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 05:59.