Stored Procedure vs Query - qual o melhor
Olá pessoal,
estou a desenvolver um novo aplicativo, e as tarefas que normalmente fazia com
querys (criar registros, actualiza, calcular ) estou a pensar fazer com
stored procedures.
Tenho algum ganho de velocidade em relação ao usual query?
Desde já agradeço a vossa opinião.
estou a desenvolver um novo aplicativo, e as tarefas que normalmente fazia com
querys (criar registros, actualiza, calcular ) estou a pensar fazer com
stored procedures.
Tenho algum ganho de velocidade em relação ao usual query?
Desde já agradeço a vossa opinião.
Decimus
Curtidas 0
Respostas
Emerson Nascimento
20/06/2007
utilizar stored procedures como queries não traz ganho de performance e nada impede que stored procedures sejam utilizadas dessa forma, mas essa não é a finalidade.
utilize stored procedures para procedimentos complexos.
por exemplo:
- você precisa de uma instrução que te retorne os clientes que efetuaram compras num determinado período, listando ainda o maior e o menor pedido, a média de compras no período e o produto mais comercializado - por cliente.
ou
- você fará o cancelamento de uma nota fiscal, onde o material deverá ser devolvido ao estoque, as duplicatas/boletos estornados no financeiro e o pedido - se houver - deverá ser reaberto (tudo isso dentro de uma única transação onde, se um dos processos falhar, todos devem ser desfeitos).
hoje, com a utilização de clientdatasets, não há mais necessidade de fazer inserções e/ou alterações via stored procedures. os clientdataset trabalham com dados em cache, o que é muito bom, pois não gera tráfego na rede (as informações trafegam somente ao ler o registro no banco e ao enviá-lo novamente ao banco, com applyupdates); sem contar que é possível utilizar todos os recursos dos componentes dataware, sem se preocupar em trabalhar com edits e ter de atentar-se à formatações, validações, etc.
utilize stored procedures para procedimentos complexos.
por exemplo:
- você precisa de uma instrução que te retorne os clientes que efetuaram compras num determinado período, listando ainda o maior e o menor pedido, a média de compras no período e o produto mais comercializado - por cliente.
ou
- você fará o cancelamento de uma nota fiscal, onde o material deverá ser devolvido ao estoque, as duplicatas/boletos estornados no financeiro e o pedido - se houver - deverá ser reaberto (tudo isso dentro de uma única transação onde, se um dos processos falhar, todos devem ser desfeitos).
hoje, com a utilização de clientdatasets, não há mais necessidade de fazer inserções e/ou alterações via stored procedures. os clientdataset trabalham com dados em cache, o que é muito bom, pois não gera tráfego na rede (as informações trafegam somente ao ler o registro no banco e ao enviá-lo novamente ao banco, com applyupdates); sem contar que é possível utilizar todos os recursos dos componentes dataware, sem se preocupar em trabalhar com edits e ter de atentar-se à formatações, validações, etc.
GOSTEI 0
Decimus
20/06/2007
Obrigado pelo esclarecimento.
Vou retirar as Stored Procedures e substituilas por queries.
Obrigado mais uma vez.
Vou retirar as Stored Procedures e substituilas por queries.
Obrigado mais uma vez.
GOSTEI 0