大家好,我有以下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