На моєму місці руху є рух, щоб відійти від використання таблиць #temp і замість цього використовувати постійні фізичні таблиці з SPID. Кожного разу, коли б раніше ВСТАВЛЯЛО INTO таблицю #temp, тепер INSERT INTO dbo.MyPermanentTable (SPID, ...) VALUES (@@SPID, ...)
потрібна анкета - разом із купою DELETE FROM dbo.MyPermanentTable WHERE SPID = @@SPID
висловлювань на початку, наприклад, збережена процедура. Крім того, безперечно, що там, де використовуються ці "постійні таблиці для зберігання тимчасових даних", потрібно бути обережними, щоб включити WHERE SPID = @@SPID
.
Логіка, що рухається до цієї практики, полягає в тому, що вона покращить загальну продуктивність сервера, на якому запущені запити (за рахунок зменшення вводу / виводу та суперечок у tempdb). Я не захоплююсь цим підходом з кількох причин - це некрасиво, потенційно небезпечно і, здається, може зашкодити виконанню запитів, які використовують нову схему.
Хтось має досвід із цим чи подібними підходами до усунення таблиць #temp?