一個使用GUID的Jeff Atwood's缺點是,它是GUID +自動增量ID =性能較差?
Cumbersome to debug (where userid='{BAE7DF4-DDF-3RG-5TY3E3RF456AS10}')
我同意。我在想,現在16字節的ID不再被認爲是一項巨大的工作,16字節+4字節的ID是一種實際的妥協?
您可以應用聚簇索引,並對自動增量ID執行大部分串行操作(讀取:優化)。合併,分銷或其他大型企業將使用GUID作爲其主要主力。
那麼......那裏的任何人都試圖混合兩個世界的最佳?你的承諾的結果是什麼?當然,有一個PK(GUID)在另一個索引字段旁邊吃掉所有索引空間的問題(自動增量ID),所以我想這種權衡可能很微妙和/或特定於一個非常狹窄的場景。
注意:this question已經解決了此問題,但從管理參照完整性的角度來看。我只是好奇於如何將PK/UK配置組合在桌面上,以及它們對性能和規模的各種影響。從本質上來說,最好是將GUID用作PK,並將自動增量用作非唯一索引?將它們作爲一對獨特的鑰匙是否更好?
謝謝你的時間。
+1這是一個很好的問題 – Matt 2011-12-16 16:52:59