Создание таблицы с использованием явного оператора create table по сравнению с выбором в

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

Сценарий временной таблицы:

--- Explicitly creating temp table first and then loading.
create table #test1 (id int, name varchar(100))
insert into #test1 (id, name) select id, name from #bigTable

--- Creating temp table by selecting into.
select id,name into #test2 from #bigTable

или обычные таблицы:

--- Explicitly creating table first and then loading.
create table test1 (id int, name varchar(100))
insert into test1 (id, name) select id, name from #bigTable

--- Creating table by selecting into.
select id,name into test2 from bigTable

Что все думают по этому поводу? Я думаю, что явное создание таблицы и загрузка должны иметь лучшую производительность, чем выбор в as select into должен оценивать выражения внутри оператора, чтобы создать таблицу.

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

http://msdn.microsoft.com/en-us/library/ms188029.aspx

16
задан mservidio 26 July 2011 в 18:08
поделиться