Banco de dados transacional usado para reservar itens ...
Nosso fornecedor foi solicitado a substituir #temptables por @tablevariables (devido a bloqueios pesados de compilação), mas eles foram substituídos por uma tabela real que adiciona o SPID como uma coluna para garantir que o procedimento armazenado atue apenas nas linhas aplicáveis.
Você vê algum risco nesse método de operação? Antes de todas as transações serem isoladas dentro de sua própria transação ... Preocupei-me que possamos acabar bloqueando muito essa tabela, mas a opinião deles é que o SQL usa bloqueio no nível de linha e isso não criará mais bloqueios.
Versão do SQL Server: 2016 Enterprise - 13.0.5216.0
CREATE TABLE dbo.qryTransactions (
ID int IDENTITY (0,1) NOT NULL CONSTRAINT pk_qryTransactions PRIMARY KEY CLUSTERED,
spid int NOT NULL,
OrderID int,
ItemID int,
TimeTransactionStart datetime,
TimeTransactionEnd datetime,
...other fields
)
CREATE INDEX idx_qryTransactions_spidID ON qryTransactions (spid, ID) INCLUDE (ItemID, OrderID, TimeTransactionStart, TimeTransactionEnd)