Sequential Guid主键列应该是聚簇索引吗?

Chr*_*sic 3 sql-server guid clustered-index sql-server-2008 newsequentialid

使用顺序guid的目的是使用聚簇索引而不会出现聚簇索引中通常存在的高级碎片(如果它是常规guid),对吗?

boy*_*dc7 7

首先要澄清的是,主键和聚簇索引是2个独立且不同的东西,即一个不耦合到另一个(PK可以是非聚簇的,聚簇索引可以是非PK).

那个,我想你要求更多"应该将顺序GUID用作聚簇索引".这是一个有问题的问题,但金伯利·特里普已经讨论过这可能是我见过的最好的人.请注意,该文章引用了PK,但在文章中,她提到了考虑因素主要适用于聚集索引选择与PK.

假设您已经决定使用GUID作为群集密钥(可能是也可能不是这种情况),使用顺序GUID很可能是非顺序GUID的最佳选择,但是至少有1个可能首选非顺序GUID的场景(尽管非常罕见,非常高级的场景,你必须基本上理解你的系统和SQL服务器,以至于你毫无疑问应该使用它 - 将与存储设备上的热点,并在群集的不同位置传播大量写入).