Qual è il modo migliore per ottimizzare un'app Rails in cui è necessario estrarre informazioni dal database per una raccolta di elementi?
Ad esempio, se sto creando un sistema di forum online ... avrei un numero di Posts
e i post avrebbero have_many :recommendations
e :comments
e :favorites
. Quando visualizzo i post nella mia vista, potrei dover visualizzare queste informazioni, ad esempio il conteggio di quanti commenti ci sono e se il mio utente ha preferito o consigliato il post.
Stavo giocando con questo e sembra che ci sia un numero enorme di query DB in esecuzione! Per prima cosa sto afferrando la mia raccolta di post, quindi, passando da ognuno di essi, andrò alla tabella dei commenti, alla tabella dei preferiti, ecc ... per ottenere i conteggi o vedere se esistono dei record per quel particolare post. Quindi per ogni post che ho, sto eseguendo 3 query separate!
Esiste un modo più efficiente per ottenere questi dati o sono tonnellate di query come questa normale per uno scenario come quello che descrivo?