日期:2014-05-17  浏览次数:20460 次

问个问题,分区表分区数量到达999后应该如何处理?
3年多前的项目,老人都走了,交给我维护,发现有个按照天来分区的分区表,现在分区表已经到达分区999了,新的数据已通过switch in切进来之后第二天就会被新的switch in数据替换
目前表大小在30G,索引18g,不是很大
我的大概想法是,首先把之前过早的数据通过switch out出去然后drop,之后将分区表的数据全部插入到另一个新表中,然后新建一个分区函数和分区架构,在新表上应用
然后再把旧表drop,新表改名
各位看看还有没有更好的方法?
另外有个问题,就是当我在分区函数中,我Merge range之后,比如执行alter partition function···
merge range ('2010-01-01')之后,原来是999个分区,是不是就会变成998个分区了?能否自动往后按照日期添加分区?

------解决方案--------------------
ALTER PARTITION FUNCTION myRangePF1 ()
SPLIT RANGE ('2013-01-30');

------解决方案--------------------
引用:
3年多前的项目,老人都走了,交给我维护,发现有个按照天来分区的分区表,现在分区表已经到达分区999了,新的数据已通过switch in切进来之后第二天就会被新的switch in数据替换
目前表大小在30G,索引18g,不是很大
我的大概想法是,首先把之前过早的数据通过switch out出去然后drop,之后将分区表的数据全部插入到另一个新表中,然后新建一个分区函数……


分区999 ,目前分区最多支持15000个(64位),往下分应该是没问题的。 

如果每天的数据不是非常多的话,lz可以看一下分区方案是否可以扩大分区的范围。比如每周。
另外,老数据,比如一年前的数据,可以分到一个区中。

不过就lz的数据量 30G单表。对应查询需求还很高情况,lz可以考虑使用分表处理。这样可以减小索引处理的压力。毕竟几个G重建索引来的较容易一些。

参考
------解决方案--------------------
MS文档建议2008用到1K就够了。。。首选合并旧分区,开辟新分区。。。
------解决方案--------------------
引用:
引用:想打听一下,这样分区的性能如何,比如,按一些比较确定的条件(这些条件可以限定结果在10000行以内)查询1年的数据,需要多少时间

同问!!!
目前也就单表到过5G,30G的性能如何?
lz的环境是? 2K5 /2K8/2K8 R2?


32位2k5,64G内存,单表数据+索引=15+19G,记录数3.5亿,分100个区,基本还没出现性能问题