因此,我们有一个客户网站抱怨
性能严重缓慢.我看了一眼很明显,问题是因为Somebody Else(grrrr)设计了一个表,其中包含大约2000万条记录而没有聚集索引.
现在我想在该表上创建一个聚簇索引 – 但是在我的测试环境中,我的create index命令已经运行了一个小时,但仍然没有完成.客户站点是一个全天候工作的车间,在创建索引时无法承受一小时的停机时间.
是否有一些较少的暴力创建索引的方法,既可以快速完成工作,也可以以一种聪明的方式进行,在繁忙时不会完全破坏服务器的性能?
我们正在使用sql Server企业版.
>如果您的
sql Server是Enterprise Edition且表没有任何BLOB字段 – CREATE CLUSTERED INDEX … WITH(ONLINE = ON) >如果不是 – 除了创建具有相同模式的表并且明智地向其传输数据之外没有任何
方法,
包括所有INSERT / UPDATE / DELETE操作(例如,使用触发器),然后准确地
删除旧表和将new
重命名为旧
名称 – 缺点是:slow,为服务器和存储
添加额外
负载