Raf*_*cci 17 partitioning sql-server-2008
是否可以使用2列而不是仅1为分区函数对表进行分区?
考虑一个包含3列的表
ID (int, primary key,
Date (datetime),
Num (int)
我想将这个表分为2列:Date和Num.
这是我使用1列(日期)对表进行分区的方法:
create PARTITION FUNCTION PFN_MonthRange (datetime)
AS
RANGE left FOR VALUES ('2009-11-30 23:59:59:997',
'2009-12-31 23:59:59:997',
'2010-01-31 23:59:59:997',
'2010-28-02 23:59:59:997',
'2010-03-31 23:59:59:997')
go
Run Code Online (Sandbox Code Playgroud)
Joe*_*lli 41
坏消息:必须在单个列上定义分区功能.
好消息:单列可能是一个持久计算列,它是您尝试分区的两列的组合.
小智 13
我发现这是一个更容易的解决方案
select ROW_NUMBER() over (partition by CHECKSUM(value,ID) order by SortOrder) as Row From your_table
Run Code Online (Sandbox Code Playgroud)