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