Mam bloga. Na mojej stronie indeksu wciągam wszystkie posty na blogu. W przypadku każdego posta na blogu liczę liczbę komentarzy do tego wpisu. Prowadzi to do problemu N + 1. Moje pytania wyglądają następująco:Rails SQL COUNT N + 1 nieefektywność
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)
Czy istnieje sposób w Rails włączenie liczy się w ten sam sposób I obejmują użytkowników (linia 2) SQL?
+1 To miłe! –
To jest dokładnie to, czego szukałem! Dzięki! – Mike