Consulta Delphi7 MySql travando

Delphi

09/11/2004

Caros colegas,

Estou iniciando o uso dos componentes da paleta dbexpress e para minha surpresa a simples consulta abaixo juntando duas tabelas executa mas trava no final. Porque será?


with DatMod.SQLQuery1 do begin
Close;
SQL.Clear;
S:=´Select t1.NOME, t2.COD_RECEIT, t2.ANO, t2.MES ´ ;
SQL.Add(S);
SQL.Add(´from Cadastro t1, Receita t2´);
SQL.Add(´WHERE t1.COD_CGF=t2.COD_CGF´);
Open;
end;
Agradece,
Rnildo.


Rnildo

Rnildo

Curtidas 0

Respostas

Gurc

Gurc

09/11/2004

Realmente não deveria travar. Você consegue rodar alguma outra? Dependendo da versão do MySQL, o dbExpress não dá suporte. Já peguei alguns casos assim. Teste, senão posso te passar um link para componente de terceiros.
Até mais,
Gustavo Royer Chaurais


GOSTEI 0
Rnildo

Rnildo

09/11/2004

Acrescentando detalhes ao problema, estou usando MySQL 3.0 Será que existe incompatibilidade com o dbexpress? o problema só ocorre com consulta com tabelas relacionadas. Constatei que não trava, o problema é lentidão mesmo, por exemplo, uma consulta retornando 3 campos e 41.000 registros demora 2 min.

Rnildo.


GOSTEI 0
Gurc

Gurc

09/11/2004

Vamos ver. Qual o tipo de tabela você está usando? Você está usando índices para isto também, certo? Se você não estiver usando o tipo InnoDB, o MySql não adicionará indices pra chave estrangeiras. Verifique isso, os dois campos devem estar indexados.
Até mais,
Gustavo Royer Chaurais


GOSTEI 0
Rnildo

Rnildo

09/11/2004

Valeu Gustavo. A bobeira era minha. Eu não estava usando indices. Com índices funcionan muito bem.
Rnildo.


GOSTEI 0
Gurc

Gurc

09/11/2004

Disponha, colega, qualquer coisa estamos aí,

Gustavo Royer Chaurais


GOSTEI 0
POSTAR