How do I find records with no associated objects?

Can this work? Just pseud-code.

met = Product.find(:all).inject([]) { |array, product| array << product unless product.sales.any? }

However, i think the performance is low…