Tenho um select que está usando a cláusula WHERE NOT EXISTS e está demorando muito para trazer os dados.
Gostaria de saber como implementar LEFT JOIN neste caso específico, para diminuir o tempo que ele leva para trazer os valores.
select A.MKT_DATA_AGGR_CODE COD_AGRUPADOR
, H.MKT_DATA_ATRIB_CODE COD_ATRIBUTO
, F.MKT_DATA_BUS_AGGR_CODE COD_GRP_MONITOR
, B.MKT_DATA_AGGR_NAME NOME_AGRUPADOR
, C.RATE_SOURCE_NAME NOME_FONTE_DESTINO
, I.MKT_DATA_ATRIB_NAME NOME_ATRIBUTO
, G.MKT_DATA_BUS_AGGR_NAME NOME_GRP_MONITOR
from DATA_MARKET A
, AGGR_DATA_MARKET B
, SOURCE_RATE C
, ASSOC_AGGR_DATA_MKT F
, AGGR_BUS_DATA_MARKET G
, ASSOC_DATA_MKT_ATRIB H
, ATRIB_DATA_MARKET I
where A.MKT_DATA_AGGR_CODE = B.MKT_DATA_AGGR_CODE
and A.RATE_SOURCE_CODE = B.RATE_SOURCE_CODE
and A.ACTV_MKT_DATA_IND = 'S'
and A.RATE_SOURCE_CODE = C.RATE_SOURCE_CODE
and not exists (select 'x'from ATRIB_DATA_MKT_IMP J
, LOG_INTER K
, DATA_MARKET_IMP L
where J.LOG_ID = K.LOG_ID
and H.MKT_DATA_AGGR_CODE = J.MKT_DATA_AGGR_CODE
and H.RATE_SOURCE_CODE = J.RATE_SOURCE_CODE
and H.MKT_DATA_CODE = J.MKT_DATA_CODE
and H.MKT_DATA_ATRIB_CODE = J.MKT_DATA_ATRIB_CODE
and L.MKT_DATA_AGGR_CODE = J.MKT_DATA_AGGR_CODE
and L.RATE_SOURCE_CODE = J.RATE_SOURCE_CODE
and L.MKT_DATA_CODE = J.MKT_DATA_CODE
and L.LOG_ID = J.LOG_ID
)
group by A.MKT_DATA_AGGR_CODE
, A.RATE_SOURCE_CODE
, A.MKT_DATA_CODE
, H.MKT_DATA_ATRIB_CODE
, F.MKT_DATA_BUS_AGGR_CODE
, B.MKT_DATA_AGGR_NAME
, C.RATE_SOURCE_NAME
, nvl(A.MKT_DATA_LABEL_TEXT, A.MKT_DATA_NAME)
, I.MKT_DATA_ATRIB_NAME
, G.MKT_DATA_BUS_AGGR_NAME
, G.SG_FUNC_GROUP_NAME
, A.ARRVL_PRELMNRY_TIME
, A.MKT_DATA_CMNT_TEXT