What fix should you pick for your “latest-comment” n+1 queries problem?
One example of this problem is trying to get the latest comment on a list of posts, but there are others, like the last review in a list of products, or the cheapest price, or the latest payment for each costumer, etc…
This is the code that I use to run those benchmarks. You can use it to play with the code and seed values, to make it more specific to your current problem.
The benchmark will include the memory and the “iterations per second” benchmarks.
With this “reports"…
sorted_comments- Default order for the "has many” association
latest_comment- A “has one” association for the latest comment
feed looping- Looping through the latest comment for each post
cached feed- A version of the looping where we cache feed in memory
russian_doll- Russian doll-caching (with a simpler cache mechanism)
cached_comment- Caching the latest comment in a column
You can see the code on github at bhserna/latest_comment_n-1_fixes_benchmark
Get for free the first part of the ebook Fix n+1 queries on Rails that will help you: