新的PK Clustered Index从50%碎片开始

时间:2016-06-28 17:13:20

标签: sql sql-server

我正在使用一个包含大约200条记录的表。它以前没有索引或约束。我在一个数据类型为VARCHAR(20)的唯一列上添加了PK / Clustered索引。

创建索引后,在任何更新/插入/删除操作之前,碎片级别已达到50%。知道为什么吗? (我用表格认识到这个小指数更像是形式,但每一点都有帮助。)

1 个答案:

答案 0 :(得分:3)

SQL Server不应用任何智能来分配页面。表格可能是1-10页,这些页面恰好分布在一些自由空间的孔中。 SQL Server无法避免这种情况。它不会尝试并置相关页面。

碎片几乎与小表无关,因为它们通常最终被缓存。永远不会再从磁盘读取这些页面。

忽略这一点。

只是为了好玩,您可以通过将索引重建为具有MAXDOP = 1的新文件组来避免这种情况。 FG是空的,因此没有自由空洞。