Jeff Atwood认为使用GUID的缺点之一是
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,自动递增作为非唯一索引吗?将它们作为一对唯一键更好吗?
感谢您的时间。