Pessoal, Tive um problema de query esses dias onde acabei não entendo o porque que deu certo a solução encontrada por mim na query. Bom vou explica por parte pro pessoal: Primeiramente eu tinha essa query onde tinha um gasto de 50 segundos de processamento: Note os NEGRITOS
SELECT DISTINCT A.ID_COBRANCA, A.DT_VENCIMENTO, A.DT_PAGAMENTO, A.NUM_EMISSOES, A.VL_EMITIDO, A.VL_RECEBIDO, A.PARCELAS_EMITIDAS, A.SIT_CONC_ITEM, TE1.DESCRICAO AS DESCR_SIT_CONC, A.DEVOLUCAO_ITEM, TE2.DESCRICAO AS DESCR_DEVOLUCAO, D.ID_CCORRENTE_FISC, T.DESCR_TIPO_DOC FROM DBSM.COBRANCAS_TRIBUTOS A ****** LEFT JOIN DBSM.TIPOS_DOCUMENTOS T****** ****** ON A.ID_TIPO_DOC = T.ID_TIPO_DOC******, DBSM.TAB_ESTRUTURADA TE1, DBSM.TAB_ESTRUTURADA TE2, DBSM.PARCELAS_COBRANCAS C, DBSM.PARCELAS_TRIBUTOS D WHERE A.SIT_CONC_TAB = TE1.COD_TABELA AND A.SIT_CONC_ITEM = TE1.ITEM_TABELA AND A.DEVOLUCAO_TAB = TE2.COD_TABELA AND A.DEVOLUCAO_ITEM = TE2.ITEM_TABELA AND ****** A.ID_COBRANCA = C.ID_COBRANCA AND****** ****** C.ID_PARCELA = D.ID_PARCELA AND****** D.ID_CCORRENTE_FISC = 1 ORDER BY A.ID_COBRANCA; Fazendo a seguinte mudança na query obtive um tempo de processamento de 2 segundos. SELECT DISTINCT A.ID_COBRANCA, A.DT_VENCIMENTO, A.DT_PAGAMENTO, A.NUM_EMISSOES, A.VL_EMITIDO, A.VL_RECEBIDO, A.PARCELAS_EMITIDAS, A.SIT_CONC_ITEM, TE1.DESCRICAO AS DESCR_SIT_CONC, A.DEVOLUCAO_ITEM, TE2.DESCRICAO AS DESCR_DEVOLUCAO, D.ID_CCORRENTE_FISC, T.DESCR_TIPO_DOC FROM DBSM.TAB_ESTRUTURADA TE1, DBSM.TAB_ESTRUTURADA TE2, ****** DBSM.COBRANCAS_TRIBUTOS A****** ****** INNER JOIN DBSM.PARCELAS_COBRANCAS C****** ****** ON A.ID_COBRANCA = C.ID_COBRANCA****** ****** INNER JOIN DBSM.PARCELAS_TRIBUTOS D****** ****** ON C.ID_PARCELA = D.ID_PARCELA****** ****** LEFT JOIN DBSM.TIPOS_DOCUMENTOS T****** ****** ON A.ID_TIPO_DOC = T.ID_TIPO_DOC ****** WHERE A.SIT_CONC_TAB = TE1.COD_TABELA AND A.SIT_CONC_ITEM = TE1.ITEM_TABELA AND A.DEVOLUCAO_TAB = TE2.COD_TABELA AND A.DEVOLUCAO_ITEM = TE2.ITEM_TABELA AND D.ID_CCORRENTE_FISC = 1 ORDER BY A.ID_COBRANCA; Alguem poderia me explicar o pq dessa grande diferença de processamento por uma simples mudança de ordem de JOIN ??? Obrigado Bruno -------------------------------------------------------------------------------------------------------------------------- Atenção! As mensagens deste grupo são de acesso público e de inteira responsabilidade de seus remetentes. Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ --------------------------------------------------------------------------------------------------------------------------__________________________________________________________________ Este Grupo recebe o apoio da SQL Magazine - www.devmedia.com.br/sqlmagazine Links do Yahoo! Grupos <*> Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/oracle_br/ <*> Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html