当我开始在我的开发日志中看到一个调用时,我目前无法追踪,SELECT COUNT(*)
但它正在发生并且似乎没有原因。我想知道这是否正常和/或为什么会发生。我认为这不是一个大问题,但如果我不需要它,为什么还要额外调用数据库。
在我的控制器中,我有
def some_action
@activities = user.activities
end
在User
课堂上,我有它has_many :activities
当我调用这个动作时,我的日志输出是
User Load (0.4ms) SELECT "users".* FROM "users" WHERE "users"."id" = 1 LIMIT 1
(0.3ms) SELECT COUNT(*) FROM "activities" WHERE "activities"."user_id" = 1
Activity Load (0.3ms) SELECT "activities".* FROM "activities" WHERE "activities"."user_id" = 1
我可以肯定地告诉你的是,它没有用来做那个SELECT COUNT(*)
调用,据我所知,没有什么东西试图得到这个计数。
我正在使用 Rails 3.2.6 和 PostgreSQL 9。