Ich habe einen Blog. Auf meiner Index-Seite werden alle Blog-Einträge angezeigt. Für jeden Blogbeitrag zähle ich die Anzahl der Kommentare zu diesem Beitrag. Dies führt zu einem N+1-Problem. Meine Abfragen sehen wie folgt aus:
SELECT "blog_posts".* FROM "blog_posts" WHERE ("blog_posts"."published" = 't') ORDER BY published_at DESC
SELECT "users".* FROM "users" WHERE ("users"."id" IN (1, 2, 3))
SELECT COUNT(*) FROM "blog_comments" WHERE ("blog_comments".blog_post_id = 10)
SELECT COUNT(*) FROM "blog_comments" WHERE ("blog_comments".blog_post_id = 9)
SELECT COUNT(*) FROM "blog_comments" WHERE ("blog_comments".blog_post_id = 8)
SELECT COUNT(*) FROM "blog_comments" WHERE ("blog_comments".blog_post_id = 2)
SELECT COUNT(*) FROM "blog_comments" WHERE ("blog_comments".blog_post_id = 7)
Gibt es eine Möglichkeit in Rails, die COUNT in der gleichen Weise, die ich die Benutzer (SQL-Zeile 2) einschließen?