Fórum Demora em um select com inner join #58665
11/08/2007
0
Tabelas envolvidas: Ficha e Clientes
Campo envolvido: codcli
Indice da tabela clientes: codemp,codcli
Select:
select ficha.codfic, ficha.data, ficha.codid, ficha.codcli, clientes.nomcli as nomcli, clientes.apelido as apelido, clientes.telefone as telefone, clientes.telemovel as telemovel from ficha Left Join clientes on (ficha.codemp=clientes.codemp and ficha.codcli=clientes.codcli) where (ficha.codemp=:codemp) order by ficha.data
Obrigado pela atenção
Mario
Aldus
Curtir tópico
+ 0Posts
12/08/2007
Everton
Não há nada de errado no teu SQL. Pelo que você descreveu, há um índice para codemp e codcli. Creio que o ´problema´ está no ´order by Data´. Se você realizar a mesma consulta sem o ´order by´ com certeza será ´um tiro´.
Gostei + 0
13/08/2007
Aldus
Obrigado pela atenção.
Mario
Gostei + 0
13/08/2007
Rodc
Tenta ao invés de usar assim
Left Join clientes on (ficha.codemp=clientes.codemp and ficha.codcli=clientes.codcli)
usar assim
Left Join clientes on (ficha.codcli=clientes.codcli and ficha.codemp=clientes.codemp)
Gostei + 0
13/08/2007
Aldus
1) estou testando no ibexpert.
2) executei o select sem o order by e executou rapidamente
3) ao ver os dados selecionados no grid do ibexpert, clico no titulo da coluna nomcli, criada pelo select, aí demora novamente
Acho eu que o problema da demora está na sincronização do join.
grato
Gostei + 0
13/08/2007
Emerson Nascimento
Gostei + 0
14/08/2007
Aldus
Ainda tentando...
Gostei + 0
15/08/2007
Sremulador
Gostei + 0
15/08/2007
Aldus
Para evitar futuros problemas com o aumento de dados, criei os campos na tabela ficha e aí funciona sem problemas.
Obrigado pela atenção de todos.
abraço
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)