Как я могу оптимизировать свои запросы SQL, чтобы игнорировать ситуации, подобные этой:
Meeting.find (5) .users.size => ВЫБРАТЬ СЧЕТ (*) ОТ ... ГДЕ ...
User.find (123) .meetings.size => SELECT COUNT (*) FROm ... WHERE ...
Я не знаю, как использовать counter_cache здесь.
Вот мое модельное отношение:
class Meeting < ActiveRecord::Base
has_many :meeting_users
has_many :users, :through => meeting_users
end
class User < ActiveRecord::Base
has_many :meeting_users
has_many :meetings, :through => meeting_users
end
class Meeting_user < ActiveRecord::Base
belongs_to :meeting
belongs_to :user
end
Каковы наиболее оптимальные решения?
А как реализовать counter_cache здесь?