1

キャッシュしたいページがあります。ページには最近のコメントのリストと最近の投稿のリストが表示されます(両方ともDBから取得されます)

DBから最新のタイムスタンプフィールドに設定することにより、キャッシュを実装するために使用Last-Modifiedする予定です。HTTP HeadersLast-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 に答える