Atenciosamente,Pessoal não sei se isso ja apareceu para vocês, mas eu não vi na 
lista do grupo, e olha que ja enviei umas duas vezes.

Minha base de dados oficial é INGRES e ORACLE, mas como precisei fazer um 
serviço externo exportei algumas tabelas e levei para o FIREBIRD, fiz as 
alterações necessárias em meu programa para trabalhar somente com esta base 
agora. O problema está em um select com left join que está levando cerca de 7 
min para responder, o que no banco normal isso é quase que instantâneo. Já 
revisei todas as chaves, indices, não sei mais o que procurar.

Abaixo segue a descrição do select

v_sql := ' select a.nr_conta,' +
         ' a.data_hora,' +
         ' f.matricula,' +
         ' c.motivo_alta,' +
         ' e.cid,' +
         ' c.dt_internacao,' +
         ' c.dt_alta,' +
         ' a.tipo_atendimento,' +
         ' b.nome,' +
         ' b.sexo,' +
         ' b.data_nascimento,' +
         ' h.nr_guia,' +
         ' c.tipo_tratamento,' +
         ' a.carater_atendimento' +
         ' from   ((((contas_hospitalares a' +
         ' left join contas_internacoes c on' +
         ' a.nr_conta = c.nr_conta)' +
         ' left join contas_diagnosticos e on' +
         ' a.nr_conta = e.nr_conta)' +
         ' left join pacientes_conveniados f on' +
         ' a.nip = f.nip and' +
         ' a.cd_convenio = f.cd_convenio)' +
         ' left join guias_convenios h on' +
         ' a.nr_conta = h.nr_conta),' +
         ' pacientes b,' +
         ' contas_faturadas g' +
         ' where a.nip = b.nip' +
         ' and a.nr_conta = g.nr_conta' +
         ' and g.mes_faturamento = ''' + 
         DataHora('01/' + mes_faturamento.text) + '''' +
         ' and g.nr_fatura = ' + nr_fatura.text;

Segue abaixo mensagem do IBEXPERT, quando rodo esta query:

Plan
PLAN MERGE (SORT (JOIN (B NATURAL,G INDEX (PK_CONTAS_FATURADAS))),SORT (JOIN 
(JOIN (JOIN (JOIN (A NATURAL,C INDEX (PK_CONTAS_INTERNACOES)),E INDEX 
(PK_CONTAS_DIAGNOSTICOS)),F INDEX (PK_PACIENTES_CONVENIADOS)),H INDEX 
(PK_GUIAS_CONVENIOS))))

Adapted Plan
PLAN MERGE (SORT (JOIN (B NATURAL,G INDEX (PK_CONTAS_FATURADAS))),SORT (JOIN 
(JOIN (JOIN (JOIN (A NATURAL,C INDEX (PK_CONTAS_INTERNACOES)),E INDEX 
(PK_CONTAS_DIAGNOSTICOS)),F INDEX (PK_PACIENTES_CONVENIADOS)),H INDEX 
(PK_GUIAS_CONVENIOS))))



Atenciosamente,

 

 

 

Marcelo Carvalho

Programador Sênior

Santa Casa de Misericórdia de Porto Alegre

E-mail: [EMAIL PROTECTED]

 


Essa mensagem, incluindo seus anexos, tem caráter confidencial e seu contéudo 
é restrito ao(s) destinatário(s) da mensagem.
Qualquer uso nao autorizado, replicaçao ou disseminaçao desta mensagem ou
parte dela é expressamente proibido.
Esse e-mail foi certificado contra virus.
ISCMPA - Irmandade da Santa Casa de Misericórdia de Porto Alegre



[As partes desta mensagem que não continham texto foram removidas]



-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

Para ver as mensagens antigas, acesse:
 http://br.groups.yahoo.com/group/delphi-br/messages

Para falar com o moderador, envie um e-mail para:
 [EMAIL PROTECTED] ou [EMAIL PROTECTED]
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-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

 



Responder a