Campo no GRID de outra tabela

Delphi

09/01/2006

É o seguinte, estava no msn com o Emerson e joguei uma dúvida sobre se era possível colocar mais um campo no Grid com um campo ´total´ de uma outra tabela. Essas tabelas o campoReg em comum. Ele foi bastante ( como sempre ) paciente e me disse que eu podia fazer mesmo na consulta SQL. Uso o Zeos com MySQL.
Me passou a seguinte consulta SQL:

select tabA.campoReg,tabA.campoValor, tabB.campoReg, tabB.campoTotal from tabA left join  tabB on (tabB.campoReg = tabA.campoReg) where...


Ok, funciona. Só que quando coloco mais de mil registros fica muito lento, 10 segundo para executar essa query.

Imagine todo usuário esperando isso para ver o retorno.
Tem alguma maneira de fazer isso mais rápido ?


Laelsonc

Laelsonc

Curtidas 0

Respostas

Paulo

Paulo

09/01/2006

Stored Procedure(SP), já tentou? Não sei se o Mysql suporta SP´s. Pq SP? Pq elas são executadas dentro do servidor e o servidor somente te retorna o resulatdo da consulta. É uma sugestão.


GOSTEI 0
Laelsonc

Laelsonc

09/01/2006

O MySQL 4.. não suporta. Infelizmente não dá pra mudar toda a aplicação agora para o MySQL 5 :cry: .

Mas obrigado.

Alguém mais ?


GOSTEI 0
Augustolima

Augustolima

09/01/2006

Mano,

Verificou se os campos onde vc faz o relacionamento estão indexados nas duas tabs?


GOSTEI 0
Macario

Macario

09/01/2006

Olá so por curiosidade.(ja que uso SQL Server)

Eu uso instruções com varias junções (left joit) e que geralmente retornam um minimo de 7000 registros, e não tenho demora maior que 5 segundos(isso sem usar indices).

Creio que deva ter outro fator para tal demora. Pois pelo que sei o MySQL é um banco de otima performance.


GOSTEI 0
Augustolima

Augustolima

09/01/2006

Bom,

Foi apenas um palpite para tentar ajudar o colega, mas to vendo ali que ele num colocou toda a sql, talvez algo não esteja legal na clausula WHERE.

Concorda?


GOSTEI 0
Macario

Macario

09/01/2006

Ola [b:3b78d26cdf]AgustoLima[/b:3b78d26cdf], sua dica é importante, apenas citei meu caso(apenas para comparação ja que são SGBD distintos).

Sim concordo contigo,[b:3b78d26cdf] laelsonc [/b:3b78d26cdf]se voce puder postar a instrução por inteira talvez possamos ajuda-lo melçhor


GOSTEI 0
POSTAR