我有一个由大约数千个表组成的数据库(从2005年开始),其中约20-30%的表具有约20万年/年的增量行数。
要求是根据列lastAccessedDate
可视化表的统计信息。该计划将分类为分区组(10 y, 5y, 3y, 1y, 6m, 3m, 1m, 2w, currentDate)
。假设分区名为p1,p2,..p10
我能够理解可以为表link定义多个分区组。
作业每周运行一次,因此,分区方案因当前日期而异;即一周后,p10
变为p9
。两周后,p9
变为p8
,一个月后,p8
变为p7
;我希望你明白这个主意。
我在SQL Server 2008实例上运行它。
答案 0 :(得分:0)
您提到了数据存储和统计要求。这两个不应该混淆。存储解决方案用于快速访问数据,统计信息属于报告和可视化领域。
关于存储,您应该使用分区,但不是以建议的方式。您可以在SQL Server中拥有10.000个分区,因此可以使用one day
或one week
作为有用的分区键。创建后,您可以切换进出分区表的部分,但不应将数据从现有分区移动到另一个分区,因为这意味着重新计算所有约束和索引。在视图中,您可以为以后的“分组依据”操作创建其他值。这些组可以描述所需的'1d,1w,1m,1q,1y'报告值。
所以是的,这是可行的,并建议为你的案例使用分区,但以不同的方式提出。