Desempenho de aplicação com Stored Procedures

20/01/2015

0

Bom dia pessoal,

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

END


Agradeço pela ajuda!
Carlos Santos

Carlos Santos

Responder

Post mais votado

20/01/2015

Boa tarde, Educs,

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

Fernanda Acacia
Responder

Mais Posts

20/01/2015

Isaac Jose

Boa tarde Educs Voce esta colocando um cpf que é campo numerico unico e de comparação como texto. esses campos tem que ter atribuições numericas para ganhar em desempenho. altere o mesmo e tera um ganho exorbitante. outro ponto e se a tabela ou tabelas que sao utilizadas possuem indices se nao os coloque tera outro ganho muito significativo..
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
Responder

20/01/2015

Marisiana Battistella

Bom dia pessoal,

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.
Responder

21/01/2015

Carlos Santos

Obrigado a todos pelos esclarecimentos, criei uma visão melhor em relação a dúvida que estava tendo.
Responder

21/01/2015

Fernanda Acacia

De nada educs!!! espero ter realmente contribuido com o link.
Responder

21/01/2015

Marisiana Battistella

Por nada! =)
Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar