mysql用户提供大量帖子

gywdnpxw  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(242)

我有三个mysql表:

用户-包含用户详细信息
帖子-包含帖子详细信息
post\u user-包含每个用户应该访问哪个post(用于读取目的)
我真的需要pivot表,因为有很多逻辑决定用户是否可以/不能阅读文章。
此解决方案存在一些问题:
第一个问题是,我有超过200k个活动用户,因此每次创建一个新的post时,都会向pivot表插入200k行(post\u user)
第二个问题是获取每个用户的帖子时。它有点慢,所以我尝试使用redis为每个用户存储查询结果,这样我就不必从那个巨大的表中获取结果。
数据库规模增长非常快:/

55ooxyrt

55ooxyrt1#

每行增加20万行 post --哎呀!这本身就是一个糟糕设计的标志。
听起来“层次树”的id可以作为“角色”或“组”来使用。
不管它叫什么,实现都是一样的:两个关系表:
用户<->组(例如,用户位于树的哪个部分)
组<->post(哪些组可以读取特定的post)
两者都是many:many,并应使用此处的性能指南来实现。请注意 id (对于Map表)是无用的,并且可能会妨碍性能。

相关问题