我正在为我的大学开发一个应用程序,用户将能够定义一个过滤器并查看符合过滤条件的学生的帖子。
最初,MYSQL 将查询user_id
所有符合过滤参数(年份、专业等)的学生。然后它将使用此结果查询并找到user_id
通过 JOIN 链接到这些的相应帖子/事件。
问题:
由于相同user_id
的 's 多次用于单独的 JOIN 查询(事件、帖子等),我想知道是否可以将结果内部存储在 mysql 中以加快使用数据的后续 JOIN 查询。
被拒绝的解决方案:
- 使用 MySQL 查询缓存 - 不适用,因为每次查询都不相同;初始连接序列是相同的,但随后将不同的连接参数应用于每个查询。
- 将数据拉入 API (php),然后使用 long 发送查询
where user_id = IN(#, #, #...)
。可能有 10,000 个用户 ID 要发送回 MYSQL。查询会很大,它会抵消 JOIN 的节省。