Qual a vantagem da Stored Procedure

Firebird

10/02/2006

A única vantagem é estar armazenada no banco de dados?

Pergunto isso porque me disseram que uma grande vantagem era que ela era executada diretamente no servidor... mas aí eu fiquei pensando com meu botões: se eu fizer uma sql qualquer (pequena ou grande) ela também não vai ser executada diretamente pelo servidor?


Djorius

Djorius

Curtidas 0

Respostas

Paullsoftware

Paullsoftware

10/02/2006

não, a SQL será executada no computador que fez o pedido e enviada para o servidor...
a grande vantagem do uso de SP e Triggers é o trafego da Rede quando menos comandos ou (dados) correm pela rede melhor é o desempenho do sistema!

a SP deve ser usada sempre que necessário, pois, melhora o desempendo do sistema e diminue o trafego da rede... :wink:


GOSTEI 0
Djorius

Djorius

10/02/2006

mas pera aí. o que exatamente é executado no próprio computador que fez a requisição? a sql não tem que ir pro servidor do fb pra que ele execute? isso que eu não estou entendendo...


GOSTEI 0
Afarias

Afarias

10/02/2006

|não, a SQL será executada no computador que fez o pedido e enviada
|para o servidor...

desculpe PaullSoftware mas como o djorius falou, o Procedimento (e qualquer [outro] comando SQL) é executado SIM no servidor, e não na máquina que o requisitou.


|a SP deve ser usada sempre que necessário, pois, melhora o
|desempendo do sistema e diminue o trafego da rede...

isso! :)

A questão toda é o tráfego na rede. Imagine que vc tem q ler um conjunto de registros de uma determinada tabela (ou várias) para processar um cálculo e ter apenas 1 regirtro de resultado...

...com a SP todos os registros são processados no servidor e apenas o resultado (1 registro apenas por exemplo) é retornado para a estação!

se for feito sem o uso de uma SP, vc teria de trazer todo o conjunto de registros para a estação (usando selects) para processá-los na estação -- e isso geraria um tráfego de rede bem maior!

:)


T+


GOSTEI 0
Aroldo Zanela

Aroldo Zanela

10/02/2006

não, a SQL será executada no computador que fez o pedido e enviada para o servidor...

Só no caso de bancos de dados desktop + bde (Paradox, xBase, etc), pois no caso de SGBDRs é feito conforme mencionado pelo afarias.
a SP deve ser usada sempre que necessário, pois, melhora o desempendo do sistema e diminue o trafego da rede... :wink:

Essa é uma vantagem, em contra-partida, dificulta a portabilidade para outros bancos.


GOSTEI 0
Paullsoftware

Paullsoftware

10/02/2006

[quote:fb3f2c9c6e=´Aroldo Zanela´]
não, a SQL será executada no computador que fez o pedido e enviada para o servidor...

Só no caso de bancos de dados desktop + bde (Paradox, xBase, etc), pois no caso de SGBDRs é feito conforme mencionado pelo afarias.
[/quote:fb3f2c9c6e]

valeu! pensei que fosse igual!


GOSTEI 0
POSTAR