sql-server – 在巨大的表上创建聚簇索引的无痛方法?

前端之家收集整理的这篇文章主要介绍了sql-server – 在巨大的表上创建聚簇索引的无痛方法?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
因此,我们有一个客户网站抱怨性能严重缓慢.我看了一眼很明显,问题是因为Somebody Else(grrrr)设计了一个表,其中包含大约2000万条记录而没有聚集索引.

现在我想在该表上创建一个聚簇索引 – 但是在我的测试环境中,我的create index命令已经运行了一个小时,但仍然没有完成.客户站点是一个全天候工作的车间,在创建索引时无法承受一小时的停机时间.

是否有一些较少的暴力创建索引的方法,既可以快速完成工作,也可以以一种聪明的方式进行,在繁忙时不会完全破坏服务器的性能

我们正在使用sql Server企业版.

解决方法

>如果您的sql Server是Enterprise Edition且表没有任何BLOB字段 – CREATE CLUSTERED INDEX … WITH(ONLINE = ON) >如果不是 – 除了创建具有相同模式的表并且明智地向其传输数据之外没有任何方法,包括所有INSERT / UPDATE / DELETE操作(例如,使用触发器),然后准确地删除旧表和将new重命名为旧名称 – 缺点是:slow,为服务器和存储添加额外负载

猜你在找的MsSQL相关文章