SqlServer2012数据库中某张表有2.9亿的数据,使用语句 "alter table 表名 alter column 列名 数据类型"修改字段类型速度比较慢,有没有什么高效的方法?
2.9亿数据的话,怎么做都是需要点时间的,不过可以考虑降低对业务的影响,如果对业务影响较小,这个操作跑一个晚上也没事:
创建一个新的表,其中的字段除了要变更的字段与原表不一样之外,其他的都一样,然后将原表中2.9亿数据insert 到新建的表中,完成插入后,创建原本在原表有的索引。还有一个需要注意的就是在完成索引的创建后,要用主键关联一下数据,将差异数据重新插入到新表中。
最后直接执行rename操作,将原表rename掉,新表rename成原表的名字。