Aumentar performance da query

11/07/2006

0

Tenho uma tabela ATENDIMENTO num banco de dados SQLServer, mas depois de algum tempo (muito tempo), a consulta ficou demorada devido a enorme quantidade de dados. Gostaria de saber qual a melhor forma de aumentar a velocidade da consulta a esses dados.
Abaixo o comando SQL que faz a consulta:
SELECT  A.*,  C.FANCONV,  P.NOMPAC, P.RGPAC, P.ENDPAC, 
               P.BAIPAC ,P.CIDPAC, P.ESTPAC, P.CEPPAC, P.TELPAC, 
               P.CIVPAC, P.SEXPAC, P.PROFPAC, P.DATENAS
FROM  ATENDIMENTO A, CONVENIO C , PACIENTE P
WHERE A.CODPAC = P.CODPAC  AND  A.CODCONV= C.CODCONV


Osb.: O sistema utiliza o BDE para se comunicar com a base de dados.

Alguém tem alguma sugestão de como diminuir o tempo de resposta nas consultas?


Dgsfilho

Dgsfilho

Responder

Posts

11/07/2006

Sremulador

você pode criar indices de maior precissão, se possivel fazer a conexão de modo nativo!


Responder

11/07/2006

Aroldo Zanela

Colega,

Use o Query Analyzer e verifique onde ocorre ´table scan´ e crie índices para essas associações. Troque o mecanismo de conexão para ADO.


Responder

12/07/2006

Rodc

Teste se o código abaixo melhora alguma coisa. Apenas como teste:
SELECT  A.*,  C.FANCONV,  P.NOMPAC, P.RGPAC, P.ENDPAC, 
               P.BAIPAC ,P.CIDPAC, P.ESTPAC, P.CEPPAC, P.TELPAC, 
               P.CIVPAC, P.SEXPAC, P.PROFPAC, P.DATENAS 
FROM  PACIENTE P, CONVENIO C, ATENDIMENTO A
WHERE A.CODPAC = P.CODPAC  AND  A.CODCONV= C.CODCONV 



Responder

13/07/2006

Dgsfilho

rodc qual a diferença? Em que vai melhorar o código?


Responder

14/07/2006

Rodc

No Oracle, não sei se nos outros também, a sequencia das tabelas na cláusula FROM e a sequencia das condições na cláusula WHERE fazem diferença na velocidade. Se não me engano a cláusula WHERE é resolvida pelo banco de fora para dentro, sendo assim, as condições mais significativas devem vir por último na cláusula.
Como eu nunca me lembro qual é a condição melhor, sempre faço testes trocando as tabelas e as condições de posição para ver qual fica melhor.


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar