Привет всем У меня есть следующий скрипт SQL Server 2008, который проверит, существует ли строка в Table A
и не вставляет ли данные из Table B
.
Это работало хорошо, пока Table A
не начал заполняться большим количеством данных. В настоящее время в этой таблице 30 миллионов строк, и эта цифра будет расти до прогнозируемых 70 миллионов строк.
Проблема, если это занимает слишком много времени и влияет на другие процессы. Просто интересно, есть ли лучший способ проверить, существует ли уже строка в таблице. Просто добавьте, что все это делается с помощью служб 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