Aumentar performance da query
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:
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?
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
Curtidas 0
Respostas
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
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.
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
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
11/07/2006
rodc qual a diferença? Em que vai melhorar o código?
GOSTEI 0
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.
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