Функция с табличным значением, убивающая мою производительность запроса

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

Мой вопрос почему возвращение таблицы (TableVariable) вместо простого набора Select / Result может привести к такому значительному изменению плана?

Stumped ....

22
задан frictionlesspulley 29 September 2015 в 13:24
поделиться