[firebase-br] Comando SQL com LIke

Robson Catunda robson.catunda em gmail.com
Seg Mar 14 11:31:20 -03 2011


Desculpem, foi enviada a resposta incompleta.
Segue na íntegra.

Por acaso não está acusando nenhum TimeOut ?
A utilização do operador % no inicio da condição, assim como comandos do
tipo containing, faz o servidor firebird ignorar os indices e passa a
utilizar o plano natural aumentando o tempo de resposta.
Se vc juntar a isso um quadro com pouca memória (ou mesmo pente de memória
com problema, como já aconteceu comigo) , pouco espaço em disco e sua
consulta retorna uma qtde ENORME de Joses,.... Pimba..... é travamento com
certeza.
Verifique tb se o collate e charset, além da versão do firebird são as
mesmas em seu ambiente de desenvolvimento e no cliente.
Já tive problemas de travamento quando o select encontrava dados acentuados.
Ahhhh.... Experimente utilizar o containing no lugar do %jose%, tive um
problema de travamento assim e resolvi mudando o comando.

Ademais, eu particularmente sempre utilizo Dialect 3, Charset ISO8859_1 e
Collate PT_BR.

Em 14 de março de 2011 08:30, Ze Luiz <zeluizdala em terra.com.br> escreveu:

> Ola Amigos
>
> Será que alguém de vocês já passou por uma situação dessas: tenho um
> sistema
> escrito em VFP, que acessa firebird via ODBC, num cliente que tem uma
> máquina com pouca memória o comando SQL: select campos from tabela campo
> like '%JOSÉ%', Trava o windows e dá o "famoso " Fatal Error do Windows.
>
> Alguém tem uma dica do que possa fazer pra resolver isso, sem que tenha que
> trocar a máquina, que é o que o cliente quer.
>
> A tabela que estou pesquisando tem um indice no campo que estou
> pesquisando.
>
> []s
>
> José Luiz
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>



Mais detalhes sobre a lista de discussão lista