我不熟悉计数器缓存的概念,并且在我的应用程序主页上有一些天文加载时间,我相信我需要继续它.
我需要实现的大多数计数器缓存都附加了某些(简单)条件.例如,这是一个常见的查询:
@projects = employee.projects.where("complete = ?", true).count
Run Code Online (Sandbox Code Playgroud)
N+1当我显示一个列出公司每个员工的项目计数的表单时,我遇到了上面的查询问题.
我真的不知道我在做什么,所以请指正!
# new migration
add_column :employees, :projects_count, :integer, :default => 0, :null => false
# employee.rb
has_many :projects
# project.rb
belongs_to :employee, :counter_cache => true
Run Code Online (Sandbox Code Playgroud)
迁移后...是我需要做的吗?
我如何在我提到的条件下工作,以尽量减少加载时间?