sql-server – 如何加速在Sql Server中向大表添加列

前端之家收集整理的这篇文章主要介绍了sql-server – 如何加速在Sql Server中向大表添加列前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想在一个大约10M行的sql Server表中添加一列.我认为这个查询最终会完成添加我想要的列:
alter table T
add mycol bit not null default 0

但它已经持续了好几个小时了.是否有任何快捷方式可以将“not null default 0”列插入大表中?或者这本来就很慢?

这是sql Server 2000.稍后我必须在sql Server 2008上做类似的事情.

解决方法

根据您的行大小,表大小,索引等,我已经看到sql Server 2000在最终完成之前会磨掉几个小时(4-5个小时).

你现在能做的最糟糕的事情是“恐慌”并且很难杀死这件事.让它自己运行.

在将来,您可能希望尝试做Farseeker提到的并创建第二个(空)结构并以这种方式复制您的记录.

>表格行越长,需要的时间越长.
>您在该表上拥有的索引越多,所需的时间就越长.
>如果添加默认值(您所做的),则需要更长时间.
>如果您在服务器上使用频繁,则需要更长时间.
>如果您没有锁定该数据库或将其置于单用户模式,则需要更长时间.

当我不得不做这样丑陋的事情时,我试着在晚上做…就像凌晨2点没人在上面(并且维护不在服务器上运行).

祝好运! 原文链接:https://www.f2er.com/mssql/81096.html

猜你在找的MsSQL相关文章