Вызов хранимой процедуры ADF занимает слишком много времени
У меня есть активность цикла фабрики данных Azure, которая выполняет хранимую процедуру на каждой итерации, передавая 2 объекта JSON в качестве аргументов. Хранимая процедура считывает объекты json с помощью функции openJson, используя перекрестное применение несколько раз, а затем создает таблицу #temp и после некоторого массажа sql вставляет данные из таблицы #temp в статическую таблицу sql.
Если я имитирую эти задачи через студию управления sqlserver, это вообще не занимает времени, поэтому я могу нажать кнопку «Выполнить» 20=50 раз, и общее время всегда будет отображаться как 0.
Однако в фабрике данных каждое выполнение действия, вызывающего хранимую процедуру, занимает много времени ... может занять 5-6 секунд, что в цикле составляет очень долгое время. Есть ли способы их настроить? Чтобы каждое выполнение занимало меньше времени?
1 ответ
Есть ли способы их настроить? Чтобы каждое выполнение занимало меньше времени?
Я также попробовал пример хранимой процедуры, которая выполняется за 0 секунд в SSMS и занимает 4-6 секунд в ADF. Если ваша хранимая процедура занимает 5-6 секунд, это нормальное время выполнения в фабрике данных Azure.
Вы можете разбить метод на ряд подпроцедур и вызвать основную процедуру, а затем вызвать эту основную процедуру из фабрики данных в качестве обходного пути, чтобы сократить время, которое требуется.
Вышеупомянутый подход поможет вам сократить количество операций, выполняемых процедурой, за один раз, выполняя задачу в подпроцедурах. Если это все еще занимает больше времени, чем ожидалось. Пожалуйста, проверьте ссылку, которая объясняет, как поднять заявку в службу поддержки.