假如现在有个表,主要使用的是两个字段,一个是 user_id,一个是 article_id。其中 article_id 是用户收藏的文章 id。一种方式是 article_id 只记录一个文章 id,通过创建多个集合来记录用户收藏的多个文章。一种方式是 article_id 是一个数组,记录用户收藏的多个文章。从性能角度或者是占用空间来看哪一种方式比较好?
假如现在有个表,主要使用的是两个字段,一个是 user_id,一个是 article_id。其中 article_id 是用户收藏的文章 id。一种方式是 article_id 只记录一个文章 id,通过创建多个集合来记录用户收藏的多个文章。一种方式是 article_id 是一个数组,记录用户收藏的多个文章。从性能角度或者是占用空间来看哪一种方式比较好?
6 回答3.4k 阅读✓ 已解决
8 回答3.7k 阅读
2 回答2.7k 阅读✓ 已解决
3 回答2.5k 阅读✓ 已解决
2 回答1.8k 阅读✓ 已解决
4 回答1k 阅读
4 回答2k 阅读
一般都是一条一行,而不是 Array(部分数据库需要使用 JSON 或者 set),因为后者要考虑兼容性问题,一些旧的数据库是不支持 JSON/Set/Array 的,一些数据库虽然支持,但是因为其没有合适的索引方式,又会导致检索的效率很低。
所以,从便于查询的角度来说,一般都是倾向与一行一个记录,即便是这样会显得 user_id 很冗余。