[firebase-br] Criar Pesquisas via Procedure
Tecnobyte Informática
temp2 em tecnobyte.com.br
Seg Set 12 18:06:10 -03 2011
Boa tarde
Caro Marcelo, eu não sei exatamente qual é o cenário de sua aplicação. Em
geral eu crio stored procedure apenas quando elas realmente possam ajudar no
desempenho da aplicação ou reduzir o tráfego na rede. Do contrário, uso
SELECT mesmo, mas sempre tomando o cuidado para trafegar pela rede APENAS o
mínimo necessário de dados. Carregar tabelas inteiras para fazer
processamento na aplicação é realmente ruim, mas selects bem feitos podem
processar muita coisa no servidor e transferir apenas o resultado para a
aplicação, da mesma forma que uma stored procedure faria para uma consulta
simples.
A maior desvantagem que vejo em stored procedure e a dificuldade para criar
filtros dinâmicos (parâmetros opcionais), algo que pode ser feito com a
montagem dinâmica da cláusula WHERE via aplicação. Dá para criar filtros
dinâmicos com stored procedure também, claro, mas montar um SELECT
totalmente dinâmico na aplicação é muito prático.
Existem coisas novas no Firebird que podem ser usadas para reduzir o tráfego
pela rede:
- INSERT OR UPDATE (evita SELECT para testar se o registro já existe).
- RETURNINS (evita SELECT para obter os dados atualizados após um insert ou
update, tal como pegar o ID gerado por um generator).
Estas coisas, quando bem aplicadas, ajudam muito na performance do sistema
como um todo.
Atenciosamente.
Daniel P. Guimarães
Tecnobyte Informática
www.tecnobyte.com.br
-----Mensagem Original-----
From: Marcelo Carvalho
Sent: Monday, September 12, 2011 4:40 PM
To: FireBase
Subject: [firebase-br] Criar Pesquisas via Procedure
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