Я просто задавался вопросом, какой подход лучше.
Создание сложного запроса Select со многими CASE WHEN THEN ... ELSE ... END
операторы или sub запрашивают в избранном пункте.
Составьте временную таблицу и затем вставьте и обновите ее. Наконец select * from @tempTable
Этот вопрос только для сложных запросов не для простых соединений или как раз в то самое время, когда некоторая маленькая информация должна быть выбрана от другой таблицы.
Для простоты и скорости разработки, по моему опыту 2.
Что касается производительности - это зависит от количества строк и таблиц, которые вы соединяете и получаете обратно. Во временных таблицах памяти (как вы и предполагаете) есть накладные расходы, которые, очевидно, связаны с памятью, которую они используют.
Я бы придерживался пункта 2, как уже упоминалось, если вы не работаете с данными размером с Walmart, тогда беспокойтесь о производительности, если это станет проблемой - «Аппаратное обеспечение дешевое, написание программного обеспечения - дорогое удовольствие»