대용량 데이터 세트를 비교할 때 다음과 같은 방법으로 매우 잘 수행됩니다.
http://weblogs.sqlteam.com/jeffs/archive/2004/11/10/2737.aspx
는 기본적으로 두 개의 데이터 소스 UNION ALL
후이를 응집 다른 테이블에서 동일한 일치하는 행이없는 행만을 반환한다.
With unionCTE As (
Select 'TableA' As TableName, col1, col2
From TableA
Union All
Select 'TableB', col1, col2
From TableB)
Select Max(TableName), col1, col2
From unionCTE
Group By col1, col2
Having Count(*) = 1
Order By col1, col2, TableName;
이 하나의 결과 집합에 결과를 표시합니다, 같은 키하지만 서로 다른 값을 갖는 행이있을 경우 쉽게 사이에 변경되는 값을 비교할 수 있도록 행 위에 다른 하나가 될 것입니다 테이블들.
원하는 경우 저장 프로 시저에 쉽게 넣을 수 있습니다.
아직 시도해 보셨나요? –
작은 테이블과 비교하여 큰 테이블을 비교하는 데 차이가 있습니까? –
150,000 행은 큰 테이블이 아닙니다! 10 억 개의 행이 큰 테이블입니다. –