数据库表设计中是一个字段对应一个数组,还是使用多个集合?

假如现在有个表,主要使用的是两个字段,一个是 user_id,一个是 article_id。其中 article_id 是用户收藏的文章 id。一种方式是 article_id 只记录一个文章 id,通过创建多个集合来记录用户收藏的多个文章。一种方式是 article_id 是一个数组,记录用户收藏的多个文章。从性能角度或者是占用空间来看哪一种方式比较好?

阅读 870
1 个回答

一般都是一条一行,而不是 Array(部分数据库需要使用 JSON 或者 set),因为后者要考虑兼容性问题,一些旧的数据库是不支持 JSON/Set/Array 的,一些数据库虽然支持,但是因为其没有合适的索引方式,又会导致检索的效率很低。

所以,从便于查询的角度来说,一般都是倾向与一行一个记录,即便是这样会显得 user_id 很冗余。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏