Способы избежать нетерпеливых операций спулинга на SQL Server

У меня есть процесс ETL, который включает в себя хранимую процедуру, которая интенсивно используетSELECT INTO операторы (минимально регистрируются и, следовательно, быстрее, поскольку они генерируют меньше трафика журнала). Из пакета работ, который выполняется в одной конкретной хранимой процедуре, некоторые из самых дорогих операций - это активные буферы, которые, по-видимому, просто буферизуют результаты запроса и затем копируют их в только что созданную таблицу.

Документация MSDN понетерпеливые катушки довольно редко Есть ли у кого-нибудь более глубокое понимание того, действительно ли они необходимы (и при каких обстоятельствах)? У меня есть несколько теорий, которые могут иметь или не иметь смысла, но безуспешно в устранении их из запросов.

Файлы .sqlplan довольно большие (160 КБ), поэтому я думаю, что публиковать их непосредственно на форуме, вероятно, нецелесообразно.

Итак, вот некоторые теории, которые могут быть доступны для конкретных ответов:

В запросе используются некоторые пользовательские функции для преобразования данных, такие как анализ форматированных дат. Требует ли это преобразование данных использования активных катушек для выделения разумных типов (например, длины varchar) для таблицы до ее создания?Как расширение вопроса выше, есть ли у кого-нибудь более глубокое представление о том, что управляет этой операцией в запросе?

Ответы на вопрос(1)

Ваш ответ на вопрос