На самом деле вы можете сэкономить некоторое время из-за того, что вы можете удалить временные таблицы в конце вместо удаления строк (вы сказали, что у вас есть несколько пользователей, поэтому вы должны удалить, а не обрезать). Удаление является зарегистрированной операцией и может значительно увеличить время процесса. Если постоянные таблицы проиндексированы, то создайте временные таблицы и индексируйте их. Могу поспорить, что вы увидите увеличение производительности, если ваша временная база не будет близка к месту.
Табличные переменные также могут работать, но они не могут быть проиндексированы, и они обычно бывают быстрее только для небольших наборов данных. Таким образом, вы можете попробовать комбинацию временных таблиц для вещей, которые будут достаточно большими, чтобы обеспечить индексацию форм и таблицы переменных для меньших элементов.
Преимущество использования временных таблиц и табличных переменных заключается в том, что вы гарантируете, что процесс одного пользователя не будет мешать процессу другого пользователя. Вы говорите, что в настоящее время у них есть способ определить, какие записи, но все, что нужно, это ввести одну ошибку, чтобы исправить это при использовании постоянных таблиц. Постоянные столы для временной обработки являются очень рискованным выбором. Временные таблицы и переменные таблиц никогда не могут видеть данные из чужого процесса и, следовательно, намного безопаснее в качестве выбора.