我尝试使用经典的JOIN操作来解决这个问题:我有一个表帖子和一个表跟随,所以给定一个user_id我检索它的以下内容并通过加入两个表来获得这些跟随的帖子。直到这里它没事。
由于它是一个时间轴,我需要建立一些帖子检索,比方说30.会有一个按钮来检索前30个帖子等等,这意味着我需要以30个块的形式检索时间轴讯息。
在考虑效率时会出现问题。我不是数据库专家,但我记得在MySQL上你可以做这样的事情(我不知道它在PostgreSQL中是怎么回事):
SELECT * FROM [... join ...] LIMIT 0,30
SELECT * FROM [... join ...] LIMIT 30,60
SELECT * FROM [... join ...] LIMIT 60,90
我想在内部它正在执行连接操作,因此获取所有行以便稍后检索有限数量的行。问题是在这个例子中它重复相同的连接操作3次,我想知道是否有办法强制数据库存储在连接结果的缓存中,以便连接操作只执行一次然后结果之后是有限的,或者,另一方面,我想知道在每次查询中是否无法避免连续执行连接。
编辑:我对PostgreSQL解决方案很感兴趣。
感谢。