Re: activerecord and counting

SJoker
2008-01-11T23:05:27Z

wouldn''t the counter_cache improve your performance?
http://railscasts.com/episodes/23

at least for having only to read the parts_count from the product
where company_id = ?

select parts_count from prodcuts where company_id = ?

and after that sum them up ;)

should be one statement and an sum up. optimization possible.

that''s how i would try to do it ;)

On Jan 11, 9:45 pm, James Byrne
<rails-mailing-l...-ARtvInVfO7ksV2N9l4h3zg@public.gmane.org>
wrote:
> Binh Ly wrote:
> > hello all,
>
> > so i have the following situation
>
> > company has_many products
> > products has many parts
>
> > i can do company.products .count and get back the product count
>
> > what i''d like to know is if there is a more elegant way to
get the
> > number of parts for a given company outside of iterating through each
> > product, counting its parts and then summing that number.
>
> > the solution i have now works.  i was just wondering if there was a
more
> > elegant way of going about it.
>
> > thanks,
>
> > binh
>
> Within rails? probably not.
>
> You could, however, create a view in the target database and then use
> that to return the desired values.  I
>
> Or, if this type of reporting is a frequent requirement, and the the
> parts per product is usually stable, then it might be worth while to
> have a regularly scheduled or dynamically calculated roll-up of the part
> count into a field in the product table and then report on that.
> --
> Posted viahttp://www.ruby-forum.com/.