获取MySQL数据库中每个用户的最新条目

时间:2016-01-28 00:11:51

标签: php mysql

这是一个'最佳实践'问题......

  • 我有一个USERS表(user_id,name)
  • 我有一张FRIENDS表(friend_id,名字)
  • 我有一个FRIEND_FACTS表(friend_id,user_id,fact_id,fact_content)

我想做的是“为每位朋友获取最新朋友的事实” - >对于特定用户。

我所遇到的挑战是“最新” - 我的问题是关于做到这一点的最佳方法,并使其具有高效性。这些是我对方法的看法:

  1. 为每个FRIEND_FACT条目添加一个时间戳,并查询每个朋友的表并返回ORDER BY时间戳LIMIT 1.(这似乎可行,但是如果一次查询1000个朋友会产生大量重复排序吗?)
  2. 每次添加一个事实时,替换LATEST_FACTS关系表中只存储fact_id和friend_id的条目。 (这看起来更干净,但意味着维持另一张桌子)
  3. 还有其他想法吗?我不是一个有这些东西的巫师,所以我试图获得最高性能的方法,而不会让解决方案太复杂。

1 个答案:

答案 0 :(得分:0)

我可能会做的事情是: $ query =“从事实中选择max(fact_id),其中friend_id ='$ friendId'”;

然后您可以获取具有最大ID的脸部的所有信息? 这是你想要实现的目标吗?