Fórum Consulta SQL lenta #325969

24/07/2006

0

Ola amigos,


estou usando o MYSQL e DELPHI 7.0 ,


tenho uma consulta no meu sistema que a certo tempo rodava rapido, mas agora esta muito demorada, acho por ter cresido a quantidade de dados no db.... tem algum metodo de pesquisa SQL com select mais eficiente?


comando que utilizao:

query1.Close;
query1.SQL.Clear;
query1.SQL.Add(´select * from cad_fin_rcto´);
query1.SQL.Add(´where unid_cod=´´+unidcod+´´ and frcto_cod=´5´ and rcto_movdata>=´´+inicio+´´ and rcto_movdata<=´´+final+´´ and reg_excluir<>´*´´);
query1.Open;


Fábio Galvão

Fábio Galvão

Responder

Posts

24/07/2006

Martins

tente modificar para:

query1.Close; 
query1.SQL.Clear; 
query1.SQL.Add(´select campo1, campo2, campo3,... from cad_fin_rcto´); 
query1.SQL.Add(´where unid_cod="´+unidcod+´" and frcto_cod="5" and rcto_movdata>="´+inicio+´" and rcto_movdata<="´+final+´" and reg_excluir<>"*"´); 
query1.Open;


campo1 = primeiro campo q vc quer q seja retornado na sua consulta, procure indicar quais campos vc vai utilizar, usando ´*´ somente se for extritamente necessário.

boa sorte!


Responder

Gostei + 0

24/07/2006

Minuto

bem nao vejo muito o q fazer mas...

vc usou * ...

pergunto: precisa realmente de todos os campos , senao retire os q vc nao precisa.

outra coisa nao sei se pode ajudar (ACHO Q NAO) MAS...
rcto_movdata coloque um: between inicio and fim

a ultima...

tente criar uma view pra ver se fica + rapido

create view ...
select campo1 , ...
from cad_fin_rcto where frcto_cod=´5´ and reg_excluir<>´*´ ;

assim c vai ter uma tabela mais reduzida para pesquisa


Responder

Gostei + 0

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

Aceitar