【问题标题】:For copying data from one to another table which is efficient,using INTO or using INSERT? [duplicate]为了将数据从一个高效的表复制到另一个表,使用 INTO 还是使用 INSERT? [复制]
【发布时间】:2013-09-16 06:09:54
【问题描述】:

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

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。

【问题讨论】:

    标签: sql-server performance tsql


    【解决方案1】:

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

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

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

    如果所有条件都相同 - 那么它可能是不值得考虑的微优化。

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-10-28
        • 1970-01-01
        • 2023-01-12
        • 1970-01-01
        • 2013-03-16
        • 2012-06-20
        • 2020-09-29
        • 1970-01-01
        相关资源
        最近更新 更多