我刚刚意识到我在时间戳上有一个聚簇索引,按降序排列。我正在考虑将其切换为升序,以便在插入新的,不断增加的时间戳时,将它们添加到表的末尾。现在看来,我怀疑它必须在表的开头添加行,我想知道SQL Server如何处理它。
它是否可以在表的开头有效地分配新页面,并有效地将新行插入到这些页面中,或者更好的是按时间戳的顺序填充页面并在最后使用升序聚簇分配新页面索引。
答案 0 :(得分:0)
无论你是在开头还是结尾添加它都是一样的。
页面填充,页面拆分,新页面已分配......
无论是在开始还是结束,新页面都可能是连续的。这就是你经常运行ALTER INDEX等的原因。
聚合索引的ASC / DEC顺序在实践中对SELECT / ORDER BY更重要...虽然我在SQL Server 2005及更高版本中注意到这一点。