id列或聚簇主键/数据库一致性

Sar*_*rah 1 sql database identity consistency

如果我有一个包含列的表:

  • 艺术家
  • 专辑
  • 歌曲
  • NumberOfListens

...最好将一个聚类主键放在Artist,Album和Song上,或者有一个自动增量id列,并对Artist,Album和Song设置一个唯一约束.

数据库一致性有多重要?如果我的一半表具有聚簇主键而另一半表具有唯一约束的id列,那么这是坏的还是无关紧要?这两种方式对我来说都是一样的,但我不知道行业标准是什么,哪种更好,为什么.

KM.*_*KM. 5

我永远不会在长文本列上放置主键,例如:Artist,Album和Song.使用作为群集PK的自动增量ID.如果您希望艺术家,专辑和歌曲是唯一的,请在三者上添加唯一索引.如果你想通过专辑或歌曲进行搜索,独立于独立的艺术家,你需要一个索引,这个索引会拉入PK,所以拥有一个小的PK可以节省你对彼此的索引.节省的不仅仅是磁盘空间,还包括内存缓存,以及页面上的更多键.