[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