SQL Server在日期字段上分区

时间:2013-06-11 09:01:02

标签: sql-server database-partitioning

需要帮助 - 如何在 SQL server 中创建分区,该分区将 2011,2012,2013 数据保存在不同的文件组中。

我在RANGE RIGHT or RANGE LEFT....

之间难以理解

1 个答案:

答案 0 :(得分:3)

请指定您的sql server版本,并阅读:http://msdn.microsoft.com/en-us/library/ms187802.aspx

至于RANGE左/右差异并决定为datetime列选择一个(我假设日期时间,但你的情况究竟是什么类型?),int类型的命令看起来像这样:

CREATE PARTITION FUNCTION OrderDateRangePFN(int)
AS
RANGE [LEFT | RIGHT] FOR VALUES (100,200,300)

使用RANGE LEFT时,第一个分区将包含值<=100。使用RANGE RIGHT它将是<100,这就是真正的区别(请注意,NULL也会以不同方式处理)。

在您的示例中,如果您希望在datetime列上创建分区函数,使用RANGE LEFT,您的边界值必须像这样指定:

('20111231 23:59:59.997','20121231 23:59:59.997','20131231 23:59:59.997')

使用RANGE RIGHT它会更优雅和简单:

('20111231','20121231','20131231')