比如我有三个模型用户,问答,它们之间的关系是:
class User < ActiveRecord::Base
has_many :answers
has_many :questions
end
class Question < ActiveRecord::Base
has_many :answers, :dependent => :destroy
belongs_to :user, :counter_cache => true
end
class Answer < ActiveRecord::Base
belongs_to :user, :counter_cache => true
belongs_to :question, :counter_cache => true
end
然后,当我想销毁一个问题(有 1000 个答案)时,会发生以下情况:答案将一一销毁,并将更新用户模型中的计数器,甚至是我要销毁的问题中的计数器,这将需要做了很久的计数器更新。
我的问题是如何让它更快?