Would it be better to do a sepparate query instead of a left JOIN?
By your fine naming conventions I can take it that the fk_recipes_id column is indexed. This alone suggests that the query should be OK (pending cardinality of fk_recipes_id). If you further expand that index to include (fk_recipes_id, in_use), that would improve your query's execution plan.

Generally speaking, it is better to do a JOIN (including a LEFT one) within your database than to loop in your application code and submit multiple queries. 

I can't know for sure what goes on in your app; you should indeed just test it as @Jon suggests. With a large dataset I suspect you will see the difference very quickly (and it will be in favour of the database JOIN).