On Sun, Jul 12, 2009 at 11:28 AM, Frederick Cheung < [email protected]> wrote:
> > > > On Jul 12, 7:15 pm, Eric <[email protected]> wrote: > > On Jul 12, 10:19 am, "Älphä Blüë" <[email protected]> > > wrote: > > > > > > But the variable is unnecessary, and in fact, a more concise way of > > > > saying the same thing would be > > > > > > if Model.find(:all).empty? > > > > > Agreed. I was just showing that there are more ways of doing things. > I > > > use your approach... > > > > > .empty? > > > .nil? > > > > > .. two things I use heavily in my projects... > > > > Typically I use something like 'unless Model.first', but are any of > > these techniques particularly lighter/faster on the db than others? > > > > It won't make much difference if you expect your table to genuinely > only contain either 0 rows or a very small number of rows. If it might > contain 10s or hundreds or rows it will be way faster to check > Model.first than it would be to check Model.all.empty? (since you'd be > loading instantiating all hundred objects rather than just 1) > > Fred I agree with Fred's approach because if you're testing for emptiness, you should do the least amount of work to determine it. For example, Model.first => will create 1 or no objects Model.all => will create table size of N or no objects Good luck, -Conrad > > > -eric > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---

