0

如果我使用身份顺序 guid并将它们作为主键并存储例如 100 000 行,然后删除其中一行并插入与删除的行具有相同Id值的新行,那么我想我会通过没有在页面文件中正确排序来搞乱“性能” 。它是否正确?如果,有没有办法“刷新”。例如通过运行和/或?DBCC DBREINDEXUPDATE STATISTICS

4

2 回答 2

3

不,钥匙总是有序的,任何操作都不能弄乱钥匙的顺序。

您可能听说过的是索引碎片,即索引的逻辑顺序和物理顺序之间的发散过程。某些操作模式会导致更高的碎片,但删除一个键并用相同的键插入同一行并不是这样的模式。可以通过索引重组 ( ALTER INDEX ... REORGANIZE) 或索引重建 ( ALTER INDEX ... REBUILD) 消除碎片,请参阅重组和重建索引。根据经验,你读到的关于索引碎片有多糟糕的所有内容都被夸大了。

更新统计信息与键顺序无关,也与碎片无关。过时的统计信息有其他原因并导致不同的问题(错误的基数估计),请参阅使用统计信息提高查询性能

于 2011-05-01T21:08:55.677 回答
0

您可能会发现Paul Randal 的帖子很有用。

不过,“页面文件”的含义还不是很清楚。

于 2011-05-01T22:49:27.127 回答