Optimize counting of has_many associations by setting the association to empty if the count is 0

git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1235 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
上级 3cf46132
......@@ -92,13 +92,17 @@ def find_target
end
def count_records
if has_cached_counter?
count = if has_cached_counter?
@owner.send(:read_attribute, cached_counter_attribute_name)
elsif @options[:counter_sql]
@association_class.count_by_sql(@counter_sql)
else
@association_class.count(@counter_sql)
end
@target = [] and loaded if count == 0
return count
end
def has_cached_counter?
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册