[firebase-br] Soundex

Diego Bulgarelli diegobulg em gmail.com
Qua Maio 16 13:59:51 -03 2012


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
>



Mais detalhes sobre a lista de discussão lista