Mysql lento em Select no Delphi

18/11/2005

0

Olá!
Estou fazendo um select em várias tabelas ao mesmo tempo sendo que minha primeira tabela possui certa de 30.000 registros as outras duas são menores (possuem menos de 1000 registros cada uma). Acontece que se eu consultar um registro específico o resultado é rápido, mas se eu pedir vários registros (acima de 100) ou todos, o resultado chega a levar 30 segundos ou mais pra chegar... o Desktop chega até a travar por instantes. Estou usando o Mysql 4.1 e o componente ZeosLib para ligar as tabelas com Delphi 7....
Abaixo está o código usado:

Select A.NOCEP, A.DCCEP, A.NMBAIRRO, B.NMCIDADE, C.SGESTADO from CADCEP A, CADCIDADES B, CADESTADOS C where A.CDCIDADE = B.CDCIDADE AND B.CDESTADO = C.CDESTADO

Tem algo errado com meu select ou algum parametro no delphi???

Meus indices primarios são: nocep, cdcidade, cdestado e estou usando o mysql + delphi 7 em um Semprom 2.4 + Placa-Mãe ECS KM400 com 512MB RAM e HD 120GB Particionado...

Por Favor me ajudem!!! :(


Monteirog12

Monteirog12

Responder

Posts

12/12/2005

Sabado

Tente alterar o seu select, conforme o exemplo abaixo:

Var
Cliente: String;
begin
Cliente:= dblookupcombobox2.text;
datamodule1.query12.Close;
datamodule1.query12.SQL.Clear;
datamodule1.query12.SQL.Text := ´SELECT * FROM orcamento WHERE cliente =:pcliente ORDER BY data desc´;
datamodule1.query12.ParamByName(´pCliente´).AsString := Cliente;
datamodule1.query12.Open;
ShowMessage(´Total de registros encontrados na pesquisa: ´ + IntToStr(datamodule1.query12.RecordCount));


Responder

14/12/2005

Wiltonfenix

Veja se desta forma fica mais rápido:

Select A.NOCEP, A.DCCEP, A.NMBAIRRO, B.NMCIDADE, C.SGESTADO From CADCEP A Left Join CADCIDADES B On (A.CDCIDADE = B.CDCIDADE) Left Join CADESTADOS C On (B.CDESTADO = C.CDESTADO)


OBS: Seu select parece estar retornando todos os registros. Se uma consulta for retornar um número muito grande de registros, não importa o SQL, ela será lenta do mesmo jeito.


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