将当前 table 加入具有确切列但持续日期的存档 table

Joining a current table to an archived table with exact columns but continuing dates

我把一个有30亿条记录的table拆成了2个,因为反应慢。我不需要经常使用 2015 年之前的数据。存档的 table 范围从 2011 年到 2014-12-31,当前的 table 从 2015-01-01 开始。我想创建一个连接两个 table 的视图,这样我就可以:

一个。在需要时访问过去的数据

乙。当我只需要当前数据时,我不会在性能上妥协

C。我可以根据需要优化或调整视图,而无需更改访问这些 table 的所有应用程序中的代码。

问题:创建视图时,我根据当前 table 创建连接,然后将存档 table 与匹配字段连接起来。这看起来很简单,只是当我在 where 子句中放置一个超出当前 table 日期的日期时,视图 returns 什么都没有。如何连接两个 table,以便视图可以访问两个 table,就好像它们是相同的 table?提前致谢。 PS.: 如果你知道的话,请提出一个更好的方法来实现我想要实现的目标。

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

试试这个:

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