【发布时间】:2012-05-25 12:43:47
【问题描述】:
我在 SQL Server 2008 R2 中有一个表,其中有近十亿行。我想将两列的数据类型从 int 更改为 bigint。两次ALTER TABLE zzz ALTER COLUMN yyy 有效,但速度很慢。我怎样才能加快这个过程?我正在考虑将数据复制到另一个表,删除,创建,复制回并切换到简单恢复模式,或者以某种方式使用游标一次 1000 行,但我不确定这些是否真的会导致任何改进。
【问题讨论】:
-
您能解释一下您将数据类型从什么更改为什么吗?
-
我看不出如何使用光标来更改列类型?列类型是对表中所有值的更改。
-
创建一个新列,复制游标中的数据,删除旧列,重命名新列。不知道这是否有效。
-
我认为您提供的
Alter声明是您最好的选择。
标签: sql sql-server sql-server-2008 sql-server-2008-r2