最近、次のような状況に遭遇しました。
データベースを設計しており、データが 6 か月以内に数百万レコードに大幅に増加すると予測しています。そして、各行に一意の ID として Guid を持たせ、後でデータを OLAP/Archive データベースに移動できるようにする必要があります。Identity と Guid キーに関する多くの議論の後、一意の ID として Guid を思いつきました。ただし、主キーとしての 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 |
| ... |
データをアーカイブに移動するとき、ID キーを気にする必要はもうありません。
このデザインに問題はありますか?パフォーマンスはどうですか?アドバイスをください、ありがとう。