Sql server 改变列大小需要很长时间吗?
我有一个45M行的表(45GB的数据空间和2GB的索引空间)。我添加了一个新专栏,它马上就完成了Sql server 改变列大小需要很长时间吗?,sql-server,sql-server-2014,Sql Server,Sql Server 2014,我有一个45M行的表(45GB的数据空间和2GB的索引空间)。我添加了一个新专栏,它马上就完成了 alter table T add C char(25) 然后我发现大小太小,所以我运行以下查询 alter table T alter column C varchar(2500) 它运行了一个小时,现在仍在运行。sp_whoisactive shows(目前仍在运行) 这不是很快吗?我测试了这个案例。您可以使用以下步骤加快速度: 使用不同的名称创建相同的表结构(称为Tbl2) 更改Tbl2上
alter table T add C char(25)
然后我发现大小太小,所以我运行以下查询
alter table T alter column C varchar(2500)
它运行了一个小时,现在仍在运行。sp_whoisactive shows(目前仍在运行)
这不是很快吗?我测试了这个案例。您可以使用以下步骤加快速度:
如果帖子回答了您的问题,请将is标记为答案您可能会得到更好的答案,答案是:不,不。在表的末尾添加列几乎是即时的,如果更改现有列的大小,则需要重新生成表和可能的索引
reads: 48,000,000
writes: 5,000,000
physical reads: 3,900,000