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