我正在尝试在包含910万行的表上重建索引。目前它的碎片率为88%
更改[MYTABLE] REBUILD上的索引[MYINDEX]
从SSMS我几分钟后得到以下内容......
Msg 10054,Level 20,State 0,Line 0 从服务器接收结果时发生传输级错误。 (提供者:TCP提供者,错误:0 - 远程主机强行关闭现有连接。)
在管理门户网站上我几分钟后得到以下内容......
运行Transact-Sql命令失败 无法读取响应的状态。
目前还不确定要尝试什么。
答案 0 :(得分:0)
您可以尝试CREATE INDEX ... WITH DROP_EXISTING。只需将现有索引编写为CREATE脚本,然后添加DROP_EXISTING选项,如下例所示。这将更有效,因为它利用现有的索引结构,从而避免了聚簇索引扫描和排序。这种方法可以减少碎片,但不会像REBUILD那样解决索引损坏问题。
CREATE INDEX [MYINDEX] ON MYTABLE
(
[MYCOLUMN] ASC
)WITH (DROP_EXISTING = ON);