首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

单表40亿条记要的表分区

2013-01-07 
单表40亿条记录的表分区用的是SQL SERVER2008,其中有一表数据达40亿条记录,由于此数据库是24小时实时运行,

单表40亿条记录的表分区
用的是SQL SERVER2008,其中有一表数据达40亿条记录,由于此数据库是24小时实时运行,要求对数据库不停机、不影响系统正常运行的情况下进行表分区,请问各位怎么实现?
记得ALTER INDEX时有online=on的设置,表分区却没有这样的参数了。
[解决办法]
你胆子真大,在产品环境上做这么大改动。。。。。
建议新建一张分区表,在产品环境比较闲暇的时候将数据倒到新表中;最后用新表替换旧表。

这样做的好处是第一很安全,第二,速度肯定比你直接强加分区块,因为你在新表上可以先没有索引,数据全进去后再加上。缺点就是需要有空闲的空间。

一般这么大的产品库,绝对不推荐线上直接修改。成功了是侥幸,出问题是常态,出了问题你就要兜着走
[解决办法]
1:先创建一张新表,将在线数据最新插入的数据入到新表中
2:创建规划一分区表,将原来40亿数据量的表交换分区到分区表中
3:将在心数据直接插入分区表中
4:将新建表插入分区表中
[解决办法]
试试 分批将数据导入到新表 当然新表上分区吧

热点排行