2017-12-11 27 views
1

응답이 느리기 때문에 30 억 개의 레코드가있는 테이블을 2 개로 분할했습니다. 2015 년 이전부터 자주 데이터가 필요하지 않습니다. 보관 된 테이블의 범위는 2011-2014-12-31이며 현재 테이블은 2015-01-01 이후입니다. 그래서 두 테이블을 연결하는 뷰를 만들려면 I 수 : 나는 난 단지 현재의 데이터를 필요로 할 때 성능에 타협하지 않는정확한 열이 있지만 계속되는 날짜가있는 보관 된 테이블에 현재 테이블에 연결

B. 할 필요가 과거

A. 액세스 데이터

C. 이러한 테이블에 액세스하는 모든 앱에서 코드를 변경하지 않고도 원하는보기를 최적화하거나 조정할 수 있습니다.

문제점 :보기를 만드는 동안 현재 테이블을 기반으로 조인을 만든 다음 일치하는 필드가있는 보관 테이블을 연결합니다. 그것은 현재 테이블의 날짜를 넘어서는 where 절에 날짜를 넣을 때 뷰가 아무 것도 반환하지 않는다는 점을 제외하고는 아주 간단합니다. 보기가 두 테이블을 같은 테이블 인 것처럼 두 테이블에 액세스 할 수 있도록 두 테이블을 연결할 수 있습니까? 미리 감사드립니다. 추신 : 알고 계시다면 내가 성취하려고 노력하는 것의 더 나은 방법을 제안 해주십시오.

Create view XXX.... 
FROM [Database].[dbo].[DA] AS DA 
     JOIN [Databse].[dbo].[DA_Archive] AS DA_Arc ON 
      DA.TradeDate = DA_Arc.TradeDate 
      AND DA.Node = DA_Arc.Node 
      AND DA.HE = DA_Arc.HE 

답변

1

이 시도 :

SELECT * FROM [Database].[dbo].[DA] 
UNION ALL 
SELECT * FROM [Databse].[dbo].[DA_Archive] 
+0

당황 나는이 간단하고 완벽한 것을 생각하지 못했습니다. 감사 – Bobby