Database transazionale utilizzato per la prenotazione di cose ...
Al nostro fornitore è stato chiesto di sostituire #temptables con @tablevariables (a causa di pesanti blocchi di compilazione) ma invece sono stati sostituiti con una tabella effettiva che aggiunge SPID come colonna per garantire che la procedura memorizzata agisca solo sulle righe applicabili.
Vedi qualche rischio in questo metodo di funzionamento? Prima che tutte le transazioni fossero isolate all'interno della propria transazione ... Temevo che potremmo finire per bloccare un po 'questa tabella, ma la loro opinione è che SQL usi il blocco a livello di riga e questo non creerà più blocchi.
Versione 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)