Выбор в имеет преимущества регистрации (не так много), поэтому производительность в большинстве случаев на самом деле лучше.Тем не менее, он создает ошибку, если таблица существует, и не создает такие вещи, как индексы или ограничения, а только столбцы.
Зависит от того, для чего вам это нужно.Я знаю, что у нас есть некоторые действия, которые SELECT ... INTO
затем переименовывают, потому что это быстрее, чем обновлять старую таблицу (очевидно, с большим перерывом для восстановления объектов таблицы и т. Д.).
Имейте в виду, что наше использование не 't с временными таблицами, которые я только что заметил в вашем вопросе, имеет место.
В случае таблиц с индексами, вставка в должна будет поддерживать индексы как часть процесса вставки.Затем существуют другие объекты таблицы, которые могут вызвать дополнительную обработку, например триггеры.Насколько я знаю, в случае выбора в, таблица пустая, поэтому начальная производительность вставки велика.Кроме того, влияние журнала транзакций минимально (об этом упоминается в этой ссылке на ваш вопрос).
Это действительно зависит от использования, для временных таблиц, я бы предположил, что они будут относительно недолговечными, поэтому выберитев следуют усечение / падение может работать хорошо.Если они имеют более длинные промежутки, но в противном случае выбрасываются, снова выберите в, а затем возможное падение.
Если им нужно жить долго после создания и они не выбрасываются, то кромеПри первоначальном создании и вставке данных (что будет быстрым) вы вернетесь к исходной точке с точки зрения последующих вставок - вам лучше всего настроить таблицу так, чтобы она принимала быстрые вставки, например, имея минимальные индексы или отключив индексыпредварительная и повторная активация пост-вставки.
В случае больших таблиц, которые имеют кластеризованные индексы, я также видел хитрость, когда вставляемые данные упорядочиваются кластерным индексом при вставке.