Aumentar performance da query

SQL Server

11/07/2006

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

Curtidas 0

Respostas

Sremulador

Sremulador

11/07/2006

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


GOSTEI 0
Aroldo Zanela

Aroldo Zanela

11/07/2006

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.


GOSTEI 0
Rodc

Rodc

11/07/2006

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 



GOSTEI 0
Dgsfilho

Dgsfilho

11/07/2006

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


GOSTEI 0
Rodc

Rodc

11/07/2006

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.


GOSTEI 0
POSTAR