[firebase-br] Soundex

Diego Bulgarelli diegobulg em gmail.com
Qua Maio 16 18:09:23 -03 2012


Sim, inclusive eu já havia lido este artigo e outros semelhantes.
Mas o que eu realmente queria era não ter de criar campos auxiliares e não
perder tanta performance.
Por exemplo, fiz testes (sem criar campos auxiliares) com tabelas de 15.000
e 25.000 registros (nem é tão grande) e a consulta ficou muito lenta.
Mas vamos aguardar para ver o que acontece com o Firebird 3.0! :)
Grato


Em 16 de maio de 2012 17:20, Fábio P. Santos <fpsgyn em gmail.com> escreveu:

> Este artigo na Firebase  http://www.firebase.com.br/fb/artigo.php?id=2376,
> sobre o Firebird 3.0, irá acabar com várias necessidades que surgem no dia
> a dia, por exemplo a possibilidade criação de  funções de uso semelhante às
> UDFs, mas usando o PSQL, store procedure, trigger e funções em JAVA, quer
> dizer, potencialmente sem limites... Aguardar para ver...
>
>
> Em 16 de maio de 2012 13:59, Diego Bulgarelli <diegobulg em gmail.com
> >escreveu:
>
> > Fábio, bem legal este seu trabalho com códigos fonéticos e concordo
> sobre o
> > que disse sobre o Firebird.
> > Mas eu estava pensando: Será que esta questão de usar uma function vai
> > melhorar razoavelmente a performance?
> > Porque o Firebird terá sempre que realizar o cálculo para campo de todos
> os
> > registros da mesma forma usando "select fonetica(nome) from clientes;" ou
> > "select (select * from fonetica(nome)) from clientes;". Não acha?
> >
> > Eu também tenho uma rotina de código fonético, mas por questão de
> > performance ainda acho melhor criar um campo para armazenar o código
> > fonético para cada campo a usar isso e passo para o Firebird o SQL criado
> > pela aplicação:
> > Ex: SELECT NOME FROM CLIENTE WHERE NOMEFONETICO LIKE
> '%CÓDIGOFONÉTICO123%'.
> >
> > Poderia me dar sua opinião sobre o assunto?
> > Grato.
> >
> > Em 16 de maio de 2012 12:21, Fabio Nascimento <fhpnascimento em gmail.com
> > >escreveu:
> >
> > > Quando eu precisei dessa parte de fonética (la pelos idos de 2000) eu
> > > procurei muito na internet, e fui usando os conhecimentos que ia
> > adquirindo
> > > e implementando isso numa solução que se encaixasse melhor nas minhas
> > > necessidades.. Usei bastante coisa do metaphone também, idéias do
> > soundex,
> > > esse trabalho de mestrado que eu menciono, entre outros, e ao longo do
> > > tempo fui alterando conforme ia surgindo necessidade..
> > >
> > > Na época eu fiz uma UDF em Kylix, já que meus servidores são em Linux,
> e
> > > por muito tempo utilizei essa UDF.. quando saiu o FB2.0 com várias
> > melhoras
> > > no PSQL resolvi transformar numa Stored Procedure, porém meu "sonho" é
> > que
> > > as functions sejam implementadas no Firebird 3.0 e eu possa passar isso
> > pra
> > > uma function, ai daria pra utilizar assim:-
> > >
> > > select fonetica(nome) from clientes;
> > > select * from clientes where fonetica(nome) = fonetica('nome a ser
> > > pesquisado')
> > >
> > > Vai facilitar muito, acho que só isso e subquery no from (select from
> > > select) que falta "nativamente" no FB pra mim, mas ainda da pra ter
> esses
> > > workarounds ai com SP e Views..
> > >
> > > Abs
> > > Fábio Nascimento
> > > ______________________________________________
> > > 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
> > >
> > ______________________________________________
> > 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
> >
> ______________________________________________
> 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