У меня есть таблица с именем «customer», в которой слишком много строк, и было принято решение разбить таблицу на несколько таблиц по столбцу даты InsertedDate.Данные охватывают годы 2009-2011.
Я бы хотел каждый год ставить в свою таблицу.Таким образом, клиенты за 2009 год переходят в одну таблицу под названием «customer2009» и т. Д.
Скажем, у меня есть запрос типа:
SELECT LastName
FROM Customer
WHERE InsertedDate BETWEEN '12/20/2009'
AND '01/15/2010'
Есть ли функция в SQL Server (в Enterperiseиздание?) где, если он получает такой запрос, он разумно знает, чтобы получить данные из разных таблиц.Причина, по которой я спрашиваю, состоит в том, что я не хочу изменять запрос на: (есть сотни запросов)
SELECT LastName
FROM Customer2009
WHERE InsertedDate >= '12/20/2009'
UNION
SELECT LastName
FROM Customer2010
WHERE InsertedDate <= '01/15/2010'
Я хотел бы прочитать технический документ и лучшие практики и архитектуру для этого типаЕсли хороший ресурс существует.
Добавление:
Суть моего вопроса в том, что я хотел бы знать, есть ли встроенная функция предприимчивости в SQL Server.Не взламывать решение вручную, которое должно быть изменено и поддержано людьми.