在SQL Server 2008中,我有一个大约有300万条记录的表。我想将其中一个列的类型从float更改为int。但似乎需要很长时间。有没有快速完成此操作的方法?
在SQL Server 2008中,我有一个大约有300万条记录的表。我想将其中一个列的类型从float更改为int。但似乎需要很长时间。有没有快速完成此操作的方法?
向表中添加一个新的整数列,将新的列更新为旧列的值,删除旧列,重命名新列。
我的直觉告诉我这样做会更快,但我也可能错了!
我假设由于现在是浮点型,所以它没有用在任何索引中。
通常情况下,使用“ALTER TABLE”操作要比使用 SSMS 更快。但在这种情况下,我同意 doogstar 的观点,因为您必须将所有的数据转换为整数,所以我会创建一个新列并将其填充(您可以分批处理以提高性能并避免表锁定),然后删除旧列并重命名新列。