Ahora, un compañero de trabajo y yo discutimos sobre el efecto de los bloques no esenciales BEGIN TRAN .... COMMIT TRAN. He escrito acerca de 140 procedimientos almacenados para operaciones simples de inserción-actualización-eliminación y dado que es posible que más adelante tengamos que hacer algunas operaciones adicionales en ellos, ya he incluido los bloques BEGIN TRAN y COMMIT TRAN que podrían ser necesarios como ese :¿Un bloque de transacción reduce el rendimiento en SQL Server?
CREATE PROCEDURE [Users].[Login_Insert]
@Username nvarchar (50) OUTPUT,
@Password char (40),
@FullName nvarchar (150),
@LoginTypeId int
AS
SET NOCOUNT ON;
BEGIN TRY
BEGIN TRAN
INSERT [Users].[Login]
(
[Username],
[Password],
[FullName],
[LoginTypeId]
)
VALUES
(
@Username,
@Password,
@FullName,
@LoginTypeId
)
COMMIT TRAN
RETURN 1
END TRY
BEGIN CATCH
ROLLBACK TRAN
RETURN -1
END CATCH
GO
Ahora, muchas de estas transacciones pueden no ser necesarias. ¿Estos bloques extraños van a afectar el rendimiento de una manera notable? Gracias de antemano.
Intenté medir esto una vez y no pude. Sin efecto mensurable –
Espero que mi compañero de trabajo llegue a una conclusión al ver esto. Muchas gracias amigo – M2X
[La respuesta aquí dice que es mensurable] (http://stackoverflow.com/questions/3201982/having-transaction-in-all-queries/3273661#3273661) –