Sorry that should be
Customer.each_in_chunks_of(100) { |cust| # Do something with cust }On Oct 2, 12:37 pm, Mike Barton <[EMAIL PROTECTED]> wrote: > Thanks for all your replies, they were very insightful. > The reason I was using SQL is because I didn't want all the active > record models loaded into the memory at once. I hadn't thought of > breaking the data into chunks using offsets, which would solve this > problem, I mean I could use pure Ruby. I refactored your solution John > to make something that could be added to any AR model > > http://gist.github.com/14338 > > Which could then be used as > > Customer.each_in_chunks_of{ |cust| # Do something with cust } > > This doesn't allow for code like Comments.approved as in your example > though. > > On Oct 2, 12:29 pm, John Leach <[EMAIL PROTECTED]> wrote: > > > Oh, and I meant to mention, in comparison to my proposed solution, this > > one executes one query whereas mine executes (total number of rows / > > 100) queries. > > > What's bad with mine is that MySQL does the query on the whole table on > > every loop and then just sends you the batch you asked for. With a big > > table, this is really bad. > > > Anyone know a good way of having ActiveRecord models do this kind of > > execute and fetch on each, rather than get the whole lot at the start? > > It's clearly preferable sometimes. > > > John. > > > On Thu, 2008-10-02 at 12:19 +0100, Carl Drinkwater | 29degrees wrote: > > > > Hi John, > > > > > Nice - that's a very tidy solution. I'm assuming the each method on > > > > res > > > > fetches the rows one at a time from the MySQL server, rather than > > > > grabbing them all at once. > > > > Yeah, exactly. > > > > Regards, > > > Carl. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "NWRUG" 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/nwrug-members?hl=en -~----------~----~----~----~------~----~------~--~---
