Сложный запрос выбора против создания временной таблицы, а затем вставки значений в временную таблицу и последующего ее выбора - PullRequest
1 голос
/ 12 августа 2010

Мне просто интересно, какой подход лучше.

  1. Создание сложного запроса на выборку с множеством CASE WHEN THEN ... ELSE ... END операторов или подзапросов в предложении выбора.

  2. Создайте временную таблицу, а затем вставьте и обновите ее. Наконец select * from @tempTable

Этот вопрос предназначен только для сложных запросов, а не для простых объединений или просто для того, чтобы получить небольшую информацию из другой таблицы.

1 Ответ

2 голосов
/ 12 августа 2010

Для простоты и скорости разработки, 2 в моем опыте.

Для производительности - это зависит от количества строк и таблиц, которые вы присоединяете и извлекаете обратно. Временные таблицы в памяти (как кажется, вы предлагаете) имеют накладные расходы, которые, очевидно, являются используемой памятью.

Я бы придерживался номера 2, как упомянуто, если только вы не работаете с данными в формате Walmart, то беспокоитесь о производительности, если это станет проблемой - «Аппаратное обеспечение дешевое, написание программного обеспечения дорого» * ​​1006 *

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...