Array
(
)

Campo no GRID de outra tabela

Laelsonc
   - 09 jan 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:

#Código

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 ?


Paulo
   - 09 jan 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.


Laelsonc
   - 09 jan 2006

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

Mas obrigado.

Alguém mais ?


Augustolima
   - 28 jan 2006

Mano,

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


Macario
   - 28 jan 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.


Augustolima
   - 28 jan 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?


Macario
   - 28 jan 2006

Ola AgustoLima, sua dica é importante, apenas citei meu caso(apenas para comparação ja que são SGBD distintos).

Sim concordo contigo, laelsonc se voce puder postar a instrução por inteira talvez possamos ajuda-lo melçhor