我有一个45M行的表(45 GB数据空间和2GB索引空间)。我添加了一个新列,它立即完成。
alter table T add C char(25)
然后我发现尺寸太小,所以我运行以下查询。
alter table T alter column C varchar(2500)
它跑了一个小时但仍然在运行。 sp_whoisactive显示(此时仍在运行)
reads: 48,000,000
writes: 5,000,000
physical reads: 3,900,000
不应该真的很快吗?
答案 0 :(得分:1)
我测试了这个案子。您可以使用以下步骤更快地完成此操作:
这会给你带来更好的表现。
原因是,更改包含数据的表上的列,将需要大量的数据传输和数据页对齐。 使用我的解决方案,您只需插入任何页面重组的数据。
如果帖子回答了您的问题,请标记为答案