[firebase-br] triggers / SP / Delphi

Evandro Siqueira vansiqq em gmail.com
Qua Ago 13 08:44:08 -03 2008


Bom dia Marco,

2008/8/13 Marco Antonio <marcobolacha em vicoldobrasil.com.br>

> Trabalhar com trigger ou SP?
>
> Qual a diferenca de performance das três opções em um insert / update?
> Ex1.
>    1 - Direto pelo Delphi disparo uma SP na inclusão passando os parâmetros
>    2 - Abrir transação executar uma query e fechar a transação
>

Já utilizei ambos. Como vc falou em performance, o primeiro é mais rápido
pois envolve menor tráfego na rede. No entanto há de se considerar que se vc
cria uma SP de edicao para cada tabela do banco, dependendo do número de
tabelas e da concorrência, e... tb da robustez do servidor, vc pode
sobrecarregá-lo. Sobretudo se o servidor não é dedicado para o banco. No
geral, acho que deve haver um "meio termo" ou ponto de equilíbrio entre
ambas, de forma a distribuir bem as tarefas entre o servidor e os clientes.


Ex2.
   1 - Em um update/insert via delphi, uma trigger dispara uma alteração
direta em outra tabela
   2 - Em um update/insert via Delphi uma trigger dispara uma SP.
Neste caso, acho que vai depender da complexidade dessa SP. se é uma
alteração simples, tipo "cadastrou venda, baixa o estoque" optaria pela
primeira opção. se passa disso, tipo "cadastrou venda, baixa o estoque,
calcula comissão, atualiza contas a receber, etc..." passaria para a opção 2
onde uma SP bem trabalhada poderia garantir os resultados com excelente
performance.


Espero ter contribuido com alguma coisa.
Um abraço,

-- 
Evandro Siqueira
Programador
Aracaju/SE



Mais detalhes sobre a lista de discussão lista