Избегать временных таблиц с SQL Server с CTE
Я хочу избежать временных таблиц для возможного увеличения производительности?
Данные: 2 таблицы с одинаковым выходом Проблема: Я хочу объединить 2 CTE в 1 CTE для вывода.Кажется, что примеры, показывающие только объединения и уменьшение количества записей и т. Д. *
Без указания имен всех полей, которые я хочу сделать
WITH Table_A_CTE AS
(
Select * from TableA
),
Table_B_CTE
(
Select * from TableB
)
--Result
Select * from Table_A_CTE , Table_B_CTE
-- above is not going to work - identical columns (as the number of columns and aliases for columns are the same)
Я видел ответ от stackoverflow с этим,но это вдвое больше записей, чем когда я делаю таблицу Temp и вставляю из TableA и TableB в таблицу temp и выбираю из таблицы Temp
SELECT * FROM Table_A_CTE
UNION ALL
SELECT * FROM Table_B_CTE
UNION ALL
SELECT * FROM Table_A_CTE
Я понимаю, что у CTE есть несколько целей, но я надеялсячтобы избежать временных таблиц и табличных переменных, которые одновременно попадают в базу данных tempdb и т.д ..