这是一个“最佳实践”问题......
- 我有一个 USERS 表(user_id、name)
- 我有一个 FRIENDS 表(friend_id、name)
- 我有一个 FRIEND_FACTS 表(friend_id、user_id、fact_id、fact_content)
我想要做的是针对特定用户“获取每个 friend 的最新 friend 事实”。
我面临的挑战是“获取最新版本” - 我的问题是做到这一点并使其高性能的最佳方法。这些是我对方法的想法:
- 为每个 FRIEND_FACT 条目添加时间戳,并在表中查询每个好友并返回 ORDER BY timestamp LIMIT 1。(这似乎可行,但如果一次查询 1000 个好友,会不会造成大量重复排序?)
- 每次添加事实时,都会替换仅存储fact_id 和friend_id 的LATEST_FACTS 关系表中的条目。 (这看起来更干净,但意味着维护另一个表)
还有其他想法吗?我不是这些事情的向导,所以我试图获得最高效的方法,而不会使解决方案过于复杂。
最佳答案
我可能做的事情是: $query =“从事实中选择max(fact_id),其中friend_id = '$friendId'”;
然后你可以抓取具有最大id的人脸的所有信息吗? 这就是您想要实现的目标吗?
关于php - 获取 MySQL 数据库中每个用户的最新条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35050663/