1

我有一个想要缓存的页面,该页面显示最近评论列表和最近帖子列表(均从数据库中获取)

我计划Last-Modified在我的数据库中使用最新的时间戳字段HTTP Headers来实现缓存Last-Modifiedupdatedat

要获取最新的修改时间,可以使用查询,例如

SELECT updatedat from comments, articles ORDER BY updateat DESC LIMIT 1

有效率吗?

然后,我会将请求If-Modified-Since与最新的时间戳进行比较,DB's (updatedat field)以确定天气以重新加载数据或将标头类型设置为Not Modified (304)

4

1 回答 1

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;

确保查询的列在两个表中都有索引。

于 2012-11-18T14:36:26.370 回答