Fórum Desempenho de aplicação com Stored Procedures #507852
20/01/2015
0
tenho uma dúvida em relação ao desempenho da aplicação, onde eu faço todos os procedimentos de Insert, Update e Delete por Stored Procedures.
A aplicação realmente perde em desempenho, ou não tem nenhum problema?
Segue exemplo do código SQL:
ALTER PROCEDURE [dbo].[spInserirPessoaFisica]
@Nome AS VARCHAR(50),
@CPF AS VARCHAR(11),
@RG AS VARCHAR(20),
@DataNascimento AS DATE
AS
BEGIN
--EXCEÇÃO
BEGIN TRY
--TRANSAÇÃO
BEGIN TRAN
--VERIFICA SE EXISTE UM CPF JÁ CADASTRADO.
IF(EXISTS(SELECT IdPessoaFisica FROM tblPessoaFisica WHERE CPF = @CPF))
BEGIN
RAISERROR('CPF já existente!', 14, 1);
END
DECLARE @IdPessoa AS INT;
--1º PASSO: INSERIR NA TABELA tblPessoa
INSERT INTO tblPessoa (IdPessoaTipo)
VALUES (1);
SET @IdPessoa = @@IDENTITY;
--2º PASSO: INSERIR NA TABELA tblPessoaFisica
INSERT INTO tblPessoaFisica (IdPessoaFisica, Nome, CPF, RG, DataNascimento)
VALUES (@IdPessoa, @Nome, @CPF, @RG, @DataNascimento);
SELECT @IdPessoa AS Retorno;
COMMIT TRAN
END TRY
BEGIN CATCH
ROLLBACK TRAN
SELECT 'Erro: ' + ERROR_MESSAGE() AS Retorno;
END CATCH
ENDAgradeço pela ajuda!
Carlos Santos
Curtir tópico
+ 0Post mais votado
20/01/2015
já viu esse artigo? mostra uma parte sobre stored procedure
[url]http://www.linhadecodigo.com.br/artigo/540/net-aumentando-o-desempenho-de-suas-aplicacoes.aspx[/url]
Fernanda Acacia
Gostei + 1
Mais Posts
20/01/2015
Isaac Jose
obs talvez o seu problema em si nao esteja na Sp e sim na origem .. se seus campos da tabela forem como os que esta chamando na variavel ex rg e cpf como varchar aconsenho estudar uma possivel solução de substituição se nao a orientação acima deve ajudar.
att.
Isaac
Gostei + 0
20/01/2015
Marisiana Battistella
tenho uma dúvida em relação ao desempenho da aplicação, onde eu faço todos os procedimentos de Insert, Update e Delete por Stored Procedures.
A aplicação realmente perde em desempenho, ou não tem nenhum problema?
Olá!!
É sempre melhor fazer o processamento das instruções SQL direto no banco de dados, pois assim você deixa todo o processamento mais pesado da aplicação em responsabilidade do banco e, dessa forma, tem-se um controle bem mais evoluído na parte administrativa e no controle da performance do banco.
Além de permitir que os recursos do banco sejam mais explorados pelos desenvolvedores.
A aplicação só vai perder em desempenho se as instruções SQL não estiverem otimizadas, estiverem com custo elevados,...
E estes são pontos que são identificados facilmente quando trabalhados direto no banco de dados, pois a ferramenta possui recursos para analisar a performance de cada instrução SQL criada.
Gostei + 0
21/01/2015
Carlos Santos
Gostei + 0
21/01/2015
Fernanda Acacia
Gostei + 1
21/01/2015
Marisiana Battistella
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)