1

我有来自 rails 日志的以下查询

  1. 调用数据库

     Userdetail Load (0.1ms)  SELECT `userdetails`.* FROM `userdetails` WHERE `userdetails`.`user_id` IN (3, 4)
    
  2. 调用缓存

    CACHE (0.0ms)  SELECT `userdetails`.* FROM `userdetails` WHERE `userdetails`.`user_id` = 3 LIMIT 1
    
  3. 未知

    (0.1ms)  SELECT COUNT(*) FROM `votes` WHERE `votes`.`voter_id` = 3 AND `votes`.`voter_type` = 'User' AND `votes`.`votable_id` = 5690 AND `votes`.`votable_type` = 'Post'
    

没有指示存储在类型 3 中的 LOAD 或 CACHE 字

我怎么知道这个查询是在哪里执行的?

4

1 回答 1

1

我想这是因为你在数数。CACHE如果它被发送到缓存,无论如何都会被写入,我的猜测是它是在数据库上执行的。

为了验证这一点,您可以尝试连续多次执行查询,后续调用应标记为CACHE

于 2012-07-31T12:31:58.757 回答