改变分区函数速度非常慢 数据库保存6个月的数据,每个月自动新建下个月的分区和回收6个月以前的分区,每个分区有30G的数据,在每个月改变分区函数的时候会非常慢,在数据量少的情况下没有这个问题,不知道是什么原因? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果索引没有对齐分区,或分区不在同一个文件组,而不能用SWITCH方式来移动分区的话,就相当于每一个记录(包括索引),都要扫描一下,用INSERT,DELETE方式来移,所以数据量多,就会慢。具体原理还没测试过。#1.如果是堆表,没有任何索引的话,移动分区,也就相当于COPY30G的数据(WINDOWS COPY方式)#2.但如果有索引,且没有对齐到分区,系统就要维护索引,而维护索引就要扫描某一分区内所有记录才能正确删除索引,所以会慢。楼主需要了解一下,表,索引,分区表,文件组,文件之间的关系,及数据是如何存放在它们上面的。 最好将数据跟你要Switch的分区放到一个Filegroup,这样做Switch就直接是元数据的修改不会牵扯到数据的移动。如果不在一个Filegroup就需要移动30GB的文件,所以会花费很多时间。 在每个月改变分区函数。一直奇怪ms为什么不支持 无须改变的分区函数无奈之下,一个记录数上亿的子表,只好以 父表id % 100 作为分区函数。 MS的分区还是不如Oracle的分区好用。 你可以监控一下系统,在改变分区函数的时候,cpu,io方面有没有什么大的变化,再看到底是什么问题 急:server数据库,jboss连接问题 求个SQL 解决方法~~~~ 怎样随机更新记录 打印出查询结果 因误操作删除数据库,请问如何恢复数据库 求高手指点SQL语句,不用存储过程,能实现吗? 今天应聘听到一的个问题,请教各位. 如果在Access中判断表是否存在? informix连接数据库错误? EXCEL怎样调用SQL SERVER数据库的数据 有办法自动导出SQL Server2008中一个表的数据? 求如何实现sqlserver数据库备份到局域内另一台电脑上
#1.如果是堆表,没有任何索引的话,移动分区,也就相当于COPY30G的数据(WINDOWS COPY方式)
#2.但如果有索引,且没有对齐到分区,系统就要维护索引,而维护索引就要扫描某一分区内所有记录才能正确删除索引,所以会慢。
楼主需要了解一下,表,索引,分区表,文件组,文件之间的关系,及数据是如何存放在它们上面的。