On Mar 14, 6:39 pm, John Smith <[email protected]> wrote:
> Matt Jones wrote:
> > On Mar 11, 4:50 am, John Smith <[email protected]> wrote:
> >> I have a simple table inherance, with an upper class GeneralElement. A
> >> class that inherits is Activity:
> >> class Activity < GeneralElement
> >> ...
> >> end
>
> >> The GeneralElement table is very big (about 2.000.000 rows!). Other
> >> classes that inherit from GeneralElement return queries very fast, but
> >> Activity.last is very slow. I have added indexes to id and type, but it
> >> has no effect. What can I do?
>
> > You may want to grab the query that Activity.last is using, and try
> > running it through 'EXPLAIN' to see what it's looking for. Have you
> > defined an order (via default_scope, for instance) on Activity? You
> > might need to have an index on that field together with 'type' to get
> > right behavior.
>
> > --Matt Jones
>
> I have added an index to the type column; but maybe it's possible to add
> a special index to both the id and type column at the same time. How
> could I do this?

add_index will accept an array of columns:

add_index :general_elements, [:type, :id]

--Matt Jones

-- 
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.

Reply via email to