【发布时间】:2017-05-30 18:19:37
【问题描述】:
所以我有以下 MySQL 表的项目:
内容表
+------------+------------+
| content_id | some infos |
+------------+------------+
| 1 | ... |
| 2 | ... |
+------------+------------+
标题表
+----+----------+---------+------------+--------------+
| id | title | user_id | content_id | other things |
+----+----------+---------+------------+--------------+
| 1 | "blabla" | 1 | 1 | ... |
| 2 | "blabla" | 59 | 25 | ... |
+----+----------+---------+------------+--------------+
为了快速恢复系统,多个用户为内容赋予标题。但是每次我选择一个内容时,我都需要找到合适的标题(我选择关注最多的用户女巫为这个内容发布了一个标题)。
所以,为了做到这一点,我看到了 2 个解决方案:
- 我可以在 content 表上使用 LEFT JOIN 对 title 表和我的 user 表和一些 MAX (nb_subscribers ) ...
- 我只能在 content 上执行 SELECT,然后使用 Redis 之类的缓存系统将标题缓存 1 天(在这种情况下,如果找不到标题)
主要问题是这些内容会被加载很多次,如果 LEFT JOIN 方法需要大量时间来处理,我想知道您的建议。
【问题讨论】: