On May 5, 12:24 pm, Avishai <[email protected]> wrote: > Hi everyone, > > So I have this app that I built which originally only needed to > support one site, and it runs quite fast. Now I added the ability to > run multiple sites on the same app, similar to how wordpress.com and > Posterous run multiple different sites with different domains and > content on the same software. However, since adding a Site model and > it's associations, the app is much, much slower. Using EXPLAIN I can > see that the additional JOINs are causing bottlenecks, and I'm having > trouble figuring out what the best indexing and lookup strategy is. > Download objects can appear in 1 or more sites. > So what are the queries that are slow and what do they / their explain plan look like ?
Fred > The models go like this: > > class Site < ActiveRecord::Base > has_and_belongs_to_many :downloads > end > > class Download < ActiveRecord::Base > acts_as_taggable > has_permalink :title > belongs_to :category > has_and_belongs_to_many :sites > end > > require 'ancestry' # uses ancestry gem for > hierarchieshttps://github.com/stefankroes/ancestry > class Category < ActiveRecord::Base > has_permalink :name, :permalink > has_ancestry > has_many :downloads > > def to_s > path.map { |cat| cat.name }.join(" > ") > end > end > > # application_controller.rb > def set_site > @site = Site.first(:conditions => {:domain => request.domain}) > # do some other stuff like set up some site-wide titles, logos, etc. > end > > Also, I want to be able to show only the categories that contain > active download objects for a particular site. > > Can anyone help me figure out what the best way to go about this is? > > Thanks! > > Avishai -- 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.

