[firebase-br] Criar Pesquisas via Procedure

Sandro Souza escovadordebits em gmail.com
Seg Set 12 19:33:51 -03 2011


Só acrescentando um pouco mais de detalhes.

No meu caso, trata-se da pesquisa de produtos em uma loja vrtual, que tanto
pode ser por palavras chaves ou por uma determinada categoria.

Pesquisar por palavras chaves não é nenhum grande desafio, e nesse caso,
estou pesquisando as palavras na descrição dos produtos.

Pesquisar por categorias, aí envolve algumas consultas a mais, pois as
categorias da loja virtual que implementei são hierárquicas, como na grande
maioria das lojas virtuais que vejo por aí, e isso significa que se eu
seleciono uma categoria, não só todos os produtos dessa categoria são
selecionados mas também todos os produtos das categorias filhas dessa
categoria selecionada, ou seja, são efetuadas pesquisas recursivas.

Ainda acrescentei uma coluna que serve como "flag de bloqueio", ou seja,
posso ocultar ou não quaisquer categorias e ou produtos, e isso também é
levado em conta no momento da pesquisa.

Se isso fosse feito a partir da aplicação, envolveria muitas operações entre
a aplicação e o SGBD. Fazendo em stored procedure, nesse cenário, fica uma
maravilha.

A aplicação apenas executa a respectiva stored procedure (pesquisa por
palavras chaves ou por categoria) informando os respectivos parâmetros, e no
retorno, todos os produtos selecionados já estão referenciados em uma tabela
de resultados de pesquisa por cliente/usuário.

Nesse cenário ficou as mil e uma maravilhas. :D

Em 12 de setembro de 2011 17:43, Sandro Souza
<escovadordebits em gmail.com>escreveu:

> Bom dia/tarde Marcelo.
>
> Nobre, só há ganhos com isso.
>
> Implementei uma stored procedure para fazer uma pesquisa e popular uma
> tabela como você citou, e a performance final é fantástica.
>
> Posso lhe dizer com conhecimento de causa que vale e muito a pena.
>
> Espero ter ajudado mais que atrapalhado. :D
>
> Em 12 de setembro de 2011 17:40, Marcelo Carvalho <marcelo.nc em gmail.com>escreveu:
>
> Pessoal,
>>
>> A tempos eu tenho uma ideia de retirar os scripts de pesquisa da aplicação
>> e
>> passá-las para o banco de dados.
>> A aplicação somente faria a chamada da procedure, e esta resultaria em
>> popular uma tabela.
>>
>> Com isto facilitaria a manutenção nestes sqls.
>>
>> Isto é possível? Alguem já fez isso?
>> Quais os reais ganhos ???
>>
>>
>> --
>> Atenciosamente,
>>
>> *Marcelo Carvalho*
>> Fone (51) *8128.5285* / *8490-9349*
>> MSN *carvalho826 em hotmail.com*
>> ______________________________________________
>> 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