最近我们遇到了如下情况:
我们正在设计一个数据库,并预测数据将在 6 个月内显着增长到数百万条记录。我们希望每一行都应该有一个 Guid 作为唯一 ID,它允许我们稍后将数据移动到 OLAP/存档数据库,在身份和 Guid 键的许多参数之后,我们想出了 Guid 作为唯一 ID。但是,将 Guid 作为主键总是一个坏主意,因此我们将表的主键是一个 Identity 列。设计如下所示
用户:
| Id (PK, Identity) |
| UserId (Guid, Unique-constraint, non-clustered index) |
| Name |
| Email |
| ... |
备注:
| Id (PK, Identity) |
| NoteId (Guid, Unique-constraint, non-clustered index) |
| UserId (Guid, Foreign Key to Users(UserId) |
| Title |
| Text |
| ... |
将数据移动到存档时,我们不再需要关心身份密钥。
这个设计有问题吗?表现如何?请给我建议,谢谢。