【问题标题】:Using Sequential GUID in many to many relations in SQL Server在 SQL Server 的多对多关系中使用顺序 GUID
【发布时间】:2014-11-19 04:52:32
【问题描述】:

基于“What are the best practices for using a GUID as a primary key, specifically regarding performance?”问题,恕我直言,如果您使用顺序 GUID 作为具有非聚集索引的 PK 并使用 INTBIG INT IDENTITY 作为聚集索引并考虑到应用程序稍后可能需要复制,它会是有益的,并且不会在表扫描、内部连接和插入中损失太多性能。

但是may to many关系呢?我们是否还应该为其桥接表使用不同的(INTBIGINT)聚集索引来获得与使用 BIGINT FK 的桥接表相同的性能?

【问题讨论】:

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


    【解决方案1】:

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

    结论:

    我在每个表中有两个键。 ID(bigint) 和 extID(guid)。 extID 仅用于服务器之间的交换。 ID是PK,每个表都有PK的聚集索引。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-04-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-28
      • 2012-03-22
      相关资源
      最近更新 更多