大家好,我有以下SQL Server 2008脚本,它将检查Table A中是否已经存在一行,以及是否不从Table B插入数据。

Table A开始填充大量数据之前,这一直很好。我们目前在此表中有3000万行,并将继续增长到预定的7000万行。

如果此过程花费的时间太长并影响其他进程,则该问题会出现。只是想知道是否有更好的方法来检查表中是否已存在一行。只需添加一下,所有这些操作都使用SSIS完成。

脚本:

INSERT INTO TABLE A ([recordID],Field 1, Field2, Field 3, Field 4, Field 5)
    SELECT
        [TABLE B].[recordID],[TABLE B].[Field 1], [TABLE B].[Field2],
        [TABLE B].[Field 3], [TABLE B].[Field 4], [TABLE B].[Field 5]
    FROM TABLE B AS TABLE B
    LEFT OUTER JOIN TABLE A AS TABLE A ON [TABLE B].[recordID] = [TABLE A].[recordID]
    WHERE [TABLE A].[recordID] IS NULL

最佳答案

您可以检查“合并”命令:

http://technet.microsoft.com/en-us/library/bb510625.aspx

10-08 07:57
查看更多