CREATE TABLE
dá a você um melhor controle sobre a definição da sua tabela antes de inserir os dados, como NOT NULL
, restrições, etc. coisas que você não pode fazer usando SELECT INTO
. SELECT INTO
é uma operação minimamente registrada, mas INSERT..SELECT
também pode ser registrado minimamente, em algumas condições.Consulte O Guia de Desempenho de Carregamento de Dados , especialmente a seção:Resumindo condições mínimas de registro .
Resumidamente, se você não se importa com as restrições, etc. (por exemplo, você deseja criar rapidamente uma cópia de uma tabela) a vantagem de
SELECT..INTO
IMHO é um código mais curto .Caso contrário, você deve usar o outro caminho e ainda poderá tê-lo minimamente registrado.