2009-02-03 3 views
1

문제점 : SQL Server 데이터베이스와 Oracle 데이터베이스에서 데이터를 가져 와서 하나의 데이터 세트에 넣어야합니다. 내가 가진 문제는 다음과 같습니다. SQL Server 쿼리에는 Oracle 쿼리가 반환 될 때만 발견되는 ID가 필요합니다.Oracle 및 SQL Dataset

궁금한 점은 : 성능에 해를 입히지 않도록이 문제를 어떻게 해결할 수 있습니까?

답변

1

연결된 서버를 사용하거나 데이터를 모두 한쪽으로 전송하여이 작업을 수행 할 수 있습니다. 그것은 모두 각면의 데이터 양에 달려 있습니다.

일반적인 경험 법칙은 가장 많은 데이터가있는 쪽에서 쿼리를 실행하는 것입니다.

오라클 ID의 세트가 작지만 SQL 서버 세트가 큰 경우 예를 들어, 당신은 오라클 측에 연결된 서버를 확인하고 SQL 서버 측에서이를 실행합니다

SELECT * 
FROM sqlservertable 
INNER JOIN linkedserver.oracletable 
    ON whatever 

에서 이 경우, Oracle 측이 큰 경우 (또는 SQL Server 측에 조인 할 필요가 있기 전에 사전 필터링 할 수 없음) 일반적으로 성능이 매우 좋지 않을 것이며 전체 테이블을 가져 와서 성능을 향상시킬 것입니다.) 대신 SQL Server 테이블에 JOIN을 수행 할 수 있습니다.