如果数据跨越多个表而不修改查询,SQL Server是否可以自动从多个表中读取?

Ton*_*ich 2 sql t-sql sql-server sql-server-2008

我有一个名为'customer'的表,它有太多的行,并且决定通过名为InsertedDate的日期列将表拆分为多个表.数据跨越2009-2011.

我想把每年都放在自己的桌子上.因此,2009年的客户会进入一个名为"customer2009"的表格,依此类推.

说我有一个像这样的查询:

SELECT LastName
  FROM Customer 
 WHERE InsertedDate BETWEEN '12/20/2009' 
                        AND '01/15/2010'
Run Code Online (Sandbox Code Playgroud)

SQL Server中是否有一个功能(在Enterperise版本中?),如果它获得这样的查询,它会智能地知道从不同的表中获取数据.我问的原因是我不想将查询修改为:(有数百个查询)

SELECT LastName 
  FROM Customer2009
 WHERE InsertedDate >= '12/20/2009' 
UNION
SELECT LastName 
  FROM Customer2010 
 WHERE InsertedDate <= '01/15/2010'
Run Code Online (Sandbox Code Playgroud)

如果存在良好的资源,我想阅读白皮书和最佳实践和架构来完成这类工作.

加成:

我的问题的要点是我想知道SQL Server中是否有内置的企业功能.不要手动破解需要由人修改和维护的解决方案.

Joe*_*lli 12

查看SQL Server 2005+中的表分区.