在SQL Server中的多对多关系中使用Sequential GUID

时间:2014-09-24 15:47:59

标签: sql-server database-design primary-key entity-framework-6.1 newsequentialid

基于" What are the best practices for using a GUID as a primary key, specifically regarding performance?"问题,恕我直言,如果你使用顺序GUID作为非聚集索引的PK并使用INTBIG INT IDENTITY作为聚集索引,并考虑到该应用程序可能以后需要复制,这将是有益的,并且不会#39在表扫描,内部连接和插入中丢失了很多性能。

但是很多关系可能会怎样呢?我们是否还应为其桥表使用不同的(INTBIGINT)聚簇索引,以获得与BIGINT FK的桥接表相同的性能?

1 个答案:

答案 0 :(得分:0)

我做了一些负载测试,我发现bigint是从大表中查询数据的最佳选择,有很多连接等等。

结论:

我在每张桌子上都有两把钥匙。 ID(bigint)和extID(guid)。 extID仅用于服务器之间的交换。 ID是PK,每个表都有PK的聚簇索引。