Uso de Join en tablas muy pesadas
Publicado por Yerher (1 intervención) el 10/05/2024 21:28:34
Hola buenas tardes.
Necesito hacer un join entre dos tablas que tienen aproximadamente mas de 9millones de filas. Investigué que lo mejor era hacer índices y esta sería mi query:
CREATE INDEX IDX_FOLIO_PERI1 ON BD_CFIN..[JPTINT] (Periodo, Contrato);
CREATE INDEX IDX_FOLIO_PERI2 ON bd_ODS..TabCredINT (Periodo, FolioCred);
SELECT
a.Periodo,
a.Fuente,
a.Contrato,
a.Monto,
b.Tipo_Credito,
b.Rut_Afiliado,
b.Segmento,
b.Tipo_Producto,
b.Apellido_Cliente,
b.Nombre_Cliente
INTO #Data_Contratos_Int
FROM BD_CFIN..[JPTINT] a
LEFT JOIN bd_ODS..TabCredINT b ON a.Periodo = b.Periodo AND a.Contrato = b.FolioCred
where a.periodo >=202301
Pero la consulta demora mucho. De qué manera pudiera optimizarla?
Muchas gracias.
PD: No soy experta en SQL :)
Necesito hacer un join entre dos tablas que tienen aproximadamente mas de 9millones de filas. Investigué que lo mejor era hacer índices y esta sería mi query:
CREATE INDEX IDX_FOLIO_PERI1 ON BD_CFIN..[JPTINT] (Periodo, Contrato);
CREATE INDEX IDX_FOLIO_PERI2 ON bd_ODS..TabCredINT (Periodo, FolioCred);
SELECT
a.Periodo,
a.Fuente,
a.Contrato,
a.Monto,
b.Tipo_Credito,
b.Rut_Afiliado,
b.Segmento,
b.Tipo_Producto,
b.Apellido_Cliente,
b.Nombre_Cliente
INTO #Data_Contratos_Int
FROM BD_CFIN..[JPTINT] a
LEFT JOIN bd_ODS..TabCredINT b ON a.Periodo = b.Periodo AND a.Contrato = b.FolioCred
where a.periodo >=202301
Pero la consulta demora mucho. De qué manera pudiera optimizarla?
Muchas gracias.
PD: No soy experta en SQL :)
Valora esta pregunta


0