比如收藏啊
文章表:
articleid | title |
---|---|
1 | some title |
2 | some title |
一个表,加一个字段这么存
userid | favorite |
---|---|
1 | 1,2 |
--- 获取一篇文章的收藏用户列表
select userid from users where find_in_set(1,favorite)
还是:
userid | articleid |
---|---|
1 | 1 |
1 | 2 |
--- 获取一篇文章的收藏用户列表
select userid from favorite where articleid = :articleId
1
lincanbin 2015-05-19 13:06:34 +08:00 via Android 3
后者,前者处理起来不方便。
后者可以直接left join文章表,一条SQL就可以实现查询收藏文章列表,并且在量大了之后依旧有不错的性能。 |
2
lincanbin 2015-05-19 13:07:47 +08:00 via Android
无论是实现难度还是性能,都是后者占优!
|
3
nekoyaki 2015-05-21 19:28:49 +08:00
第一种不如存储在redis里面了。
|