0

有两种方法可以将数据从一个表复制到另一个表。

1. First create a new table then using "

INSERT INTO TABLE2_NAME 
SELECT * FROM TABEL1_NAME"

或者

2. SELECT * INTO TABLE2_NAME FROM TABLE1_NAME

我正在使用 SQL Server 2012。

4

2 回答 2

0

它们是不同的,因为第一个需要已经创建表,第二个也将创建表。

我敢打赌,读取 TABLE1_NAME 的执行计划将是相同的,第二个可能会慢几毫秒,因为它必须创建表。

现在要考虑的下一件事是创建表的位置。在第一个中,您可能已将表放在快速存储上,而在第二个中,它将转到可能会或可能不会优化的默认主存储。

如果一切都是平等的 - 那么它可能是一个不值得考虑的微优化。

于 2013-09-16T06:12:44.943 回答
0

INSERT INTO TABLE2_NAME SELECT * FROM TABEL1_NAME创建 TABLE2_NAME 并在其中插入 TABEL1_NAME 的值。它更有效,但如果表已经创建,则该语句会出错。

SELECT * INTO TABLE2_NAME FROM TABLE1_NAME唯一在 TABEL2_NAME 中插入 TABLE1_NAME 的值。

于 2013-09-16T06:13:21.870 回答