小编Cra*_*igA的帖子

索引 - 唯一标识符外键或中间映射表?

寻找对这些人的一些专家意见 - 我不是一名 DBA,因此希望得到任何建议。不需要对架构的其余部分进行评论,因为它纯粹是为了说明我的问题而捏造的。

基本上,我正在为现有系统开发新功能,但无法更改现有架构。因此,假设当前有一个Users表,它具有一个类型为uniqueidentifier的主键UserID。我想创建一个名为Alerts的新表- 以一对多关系与 Users 表相关(一个用户可以有多个警报)。警报将通过此外键定期查询。我希望索引该字段以提高性能。

我的问题是 - 根据我对索引策略的理解,对 uniqueidentifier 列进行索引(巧妙地放置)不是一个好主意 - 所以有一个中间表来将这些 un​​iqueidentifier 键映射到更好的索引候选像一个更好的主意吗?整数?

用户

  • 用户 ID唯一标识符{PK}
  • 用户名varchar(50)

警报

  • AlertID int {PK}
  • 用户 ID唯一标识符{FK}
  • 消息varchar(250)
  • 时间戳日期时间

或者

用户

  • 用户 ID唯一标识符{PK}
  • 用户名varchar(50)

用户地图

  • UserKey int identity(1,1) {PK}
  • 用户 ID唯一标识符{FK}

警报

  • AlertID int identity(1,1) {PK}
  • UserKey int {FK}
  • 消息varchar(250)
  • 时间戳日期时间

schema index sql-server uniqueidentifier

6
推荐指数
1
解决办法
3459
查看次数

标签 统计

index ×1

schema ×1

sql-server ×1

uniqueidentifier ×1