David Kimura PRO said 4 months ago on Tips and Tricks :
I think that in your example with p2, if you do 

p2 = Project.where(id: 13).load

Then you will find that 

p2.any?

will not trigger an additional query. I think that the way Rails is behaving, it's because the query isn't loading in IRB. If you type p2 in the terminal again, I think it will trigger another query.