Hi,Each time we use CreateOrUpdate entity action Outsystems send first one update statement and if this statement fails then sends the insert statement.1. First statement send is an update exec sp_executesql N’SET NOCOUNT OFF; UPDATE [StackOverflow2013].[dbo].[Badges] SET [Name] = @ssName , [UserId] = @ssUserId , [Date] = @ssDate , [CreatedOn] = @ssCreatedOn , [CreatedBy] = @ssCreatedBy , [UpdatedOn] = @ssUpdatedOn , [UpdatedBy] = @ssUpdatedBy WHERE [Id] = @ssENBadgesssId ’,N’ @ssName varchar(10), @ssUserId int, @ssDate datetime, @ssCreatedOn datetime, @ssCreatedBy int, @ssUpdatedOn datetime, @ssUpdatedBy int, @ssENBadgesssId int’, @ssName =’New badge’, @ssUserId =1, @ssDate =’2022–01–01 00:00:00', @ssCreatedOn =’2022–05–16 21:11:20', @ssCreatedBy =1, @ssUpdatedOn =’2022–05–16 21:11:20', @ssUpdatedBy =1, @ssENBadgesssId =0 2. If this fails (because it's and insert) then Outsystems send an insert statement exec sp_executesql N’SET NOCOUNT ON; INSERT INTO [StackOverflow2013].[dbo].[Badges] ( [Name], [UserId], [Date], [CreatedOn], [CreatedBy], [UpdatedOn], [UpdatedBy] ) VALUES ( @ssName , @ssUserId , @ssDate , @ssCreatedOn , @ssCreatedBy , @ssUpdatedOn , @ssUpdatedBy ); SELECT SCOPE_IDENTITY();’,N’ @ssName varchar(10), @ssUserId int, @ssDate datetime, @ssCreatedOn datetime, @ssCreatedBy int, @ssUpdatedOn datetime, @ssUpdatedBy int’, @ssName =’New badge’, @ssUserId =1, @ssDate =’2022–01–01 00:00:00', @ssCreatedOn =’2022–05–16 21:11:20', @ssCreatedBy =1, @ssUpdatedOn =’2022–05–16 21:11:20', @ssUpdatedBy =1 This behavior doesn't make any sense because we are sending unnecessary scripts to be executed by database (first update takes some MS to be executed and take CPU time). On factories with a high volume of inserts this have impact. Resolution: If primary key is nullidentifier -> send insert statement to database If primary key is filled -> send update statement