我有一个我希望缓存的页面,页面显示最近评论列表和最近帖子列表(均来自数据库)
我计划在Last-Modified
中使用HTTP Headers
来实施缓存,方法是将Last-Modified
设置为我的数据库中最新的updatedat
时间戳字段
要获取最新修改时间,请使用
等查询SELECT updatedat from comments, articles ORDER BY updateat DESC LIMIT 1
高效吗?
然后,我会将请求的If-Modified-Since
与DB's (updatedat field)
中的最新时间戳进行比较,以确定天气以重新加载数据,或者只将标题类型设置为Not Modified (304)
答案 0 :(得分:2)
在相关列上放置索引(updatedat),然后使用MAX函数。
SELECT MAX(joint.updatedat) FROM (
SELECT MAX(a.updatedat) updatedat FROM articles a
UNION
SELECT MAX(c.updatedat) updatedat FROM comments c
) joint;
确保查询列在两个表中都有索引。