SQL.Как исключить выписку из плана Actual Exec? - PullRequest
1 голос
/ 11 ноября 2010

SQL 2008. Я запускаю sproc из SQL Studio, и когда я пытаюсь получить фактический план выполнения, он взрывает базу данных tempdb.

Я сузил проблему до вызова скалярной функции строки, которая используется вСтол из 700К строк.

Я пришел к выводу, что SQL пытается создать планы exec 700K для этой функции и записывает все данные в базу данных tempdb, на которой есть свободное пространство 3Gb.

Мне не нужно видеть план для этогоfunction.

Можно ли явно исключить инструкцию из генерации плана exec?

1 Ответ

3 голосов
/ 11 ноября 2010

Вы не можете исключить его из плана выполнения, кроме удаления вызова из запроса.

Однако это звучит как основной кандидат на переключение из скалярной UDF в UDF со встроенной таблицей.Скалярные пользовательские функции могут быть причиной низкой производительности из-за того, что они запускаются один раз для каждой строки в запросе.

Прочитайте эту статью , в которой содержится пример для демонстрации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...