Я работал над решением (в SQL Server), в котором все подзапросы без исключения были переписаны с временными таблицами для повышения производительности.
Для примера, все запросы такие:
SELECT something
FROM (SELECT * FROM T1 WHERE condition1)
JOIN ...
были переписаны так:
SELECT *
INTO #tempTable
FROM T1
WHERE condition1
SELECT something
FROM #tempTable
JOIN ...
Также было предложено здесь избегать всех подзапросов в пользу временных таблиц.
Основываясь на данных фактах, следует ли заменить все подзапросы временной таблицей? Если нет, то когда следует рассматривать одно над другим?