Como melhorar esse select??

Dúvidas, dicas e truques de SQL, Select, Update, Delete, cláusulas, operações com joins, Funções em SQLs, etc
Avatar do usuário
Toad
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 253
Registrado em: Sex, 18 Nov 2005 2:14 pm
Localização: Seattle, WA
Contato:
Matheus Gonçalves
matheus.dev
twitter.com/developer__c

Selecionar tudo

SELECT Max(ROWNUM) 
FROM ( SELECT ROWNUM from TABELA_A A                                        
       where not exists (select 'x'                                                   
                         from TABELA_G G 
                         where G.COD_AGRUPADOR      = A.AGGR_CODE   
                           and G.COD_FONTE          = A.SOURCE_CODE     
                           and G.COD_DADO           = A.DATA_CODE        
                           and G.COD_ATRIBUTO       = A.ATRIB_CODE)
      )
gokden
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 264
Registrado em: Dom, 19 Ago 2007 8:18 pm
Localização: Ribeirão Preto - SP
Lucas de Souza

OCA Developer
Analista de sistemas

Deste jeito não funciona ??

Selecionar tudo

SELECT max(ROWNUM) from TABELA_A A                                       
       where not exists (select 'x'                                                   
                         from TABELA_G G
                         where G.COD_AGRUPADOR      = A.AGGR_CODE   
                           and G.COD_FONTE          = A.SOURCE_CODE     
                           and G.COD_DADO           = A.DATA_CODE       
                           and G.COD_ATRIBUTO       = A.ATRIB_CODE)
Avatar do usuário
Toad
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 253
Registrado em: Sex, 18 Nov 2005 2:14 pm
Localização: Seattle, WA
Contato:
Matheus Gonçalves
matheus.dev
twitter.com/developer__c

Perdão, o select original estava assim:

Selecionar tudo


SELECT Max(ROWNUM)
FROM ( SELECT  A.AGGR_CODE ,
               A.SOURCE_CODE
from TABELA_A A                                       
       where not exists (select 'x'                                                   
                         from TABELA_G G
                         where G.COD_AGRUPADOR      = A.AGGR_CODE   
                           and G.COD_FONTE          = A.SOURCE_CODE     
                           and G.COD_DADO           = A.DATA_CODE       
                           and G.COD_ATRIBUTO       = A.ATRIB_CODE)
      ) 
Mas para retornar 2000 registros está demorando quase 3 minutos.
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 10 visitantes