Мне кажется, что оператор select (который сам по себе очень быстрый) медленнее, чем запись условия в виде строки. Вот фиктивный пример:
Быстрая версия:
select *
FROM db.dbo.A
left join db.dbo.B on A.id = B.id
where A.selected_variable in ('XXX','YYY')
Медленная версия:
select
selected_variable
into #t_temp
from db.dbo.some_table
where some_condition = 'X'
select *
FROM db.dbo.A
left join db.dbo.B on A.id = B.id
where A.selected_variable in (select selected_variable from #t_temp) -- returns ('XXX','YYY')
Кто-то знает, почему и чего лучше избегать? падение производительности?