MySQL データベースに上記のモデルがあります。
Blogs (id: integer, name: varchar)
Posts (id: integer, name: varchar, blog_id: integer, created_at: date)
すべてのブログのリストを、最新の投稿がある順に並べ替えて取得したいと考えています。
次のクエリでそれに到達しました。
SELECT b.*, (SELECT p.created_at FROM posts p WHERE p.blog_id = b.id ORDER BY p.created_at DESC LIMIT 1) AS last_post_created_at FROM blogs b ORDER BY last_post_created_at DESC;
しかし、このクエリは遅すぎて、自分のアプリケーションでは使用できません。
あなたはそれに対する良い解決策を持っていますか?
ありがとうございました。