Ruby on rails 如何检查检索到的数据库或缓存中的查询
我有以下来自rails日志的查询Ruby on rails 如何检查检索到的数据库或缓存中的查询,ruby-on-rails,ruby-on-rails-3.1,Ruby On Rails,Ruby On Rails 3.1,我有以下来自rails日志的查询 调用数据库 Userdetail Load (0.1ms) SELECT `userdetails`.* FROM `userdetails` WHERE `userdetails`.`user_id` IN (3, 4) 调用缓存 CACHE (0.0ms) SELECT `userdetails`.* FROM `userdetails` WHERE `userdetails`.`user_id` = 3 LIMIT 1 不为人知 (0.1ms
Userdetail Load (0.1ms) SELECT `userdetails`.* FROM `userdetails` WHERE `userdetails`.`user_id` IN (3, 4)
CACHE (0.0ms) SELECT `userdetails`.* FROM `userdetails` WHERE `userdetails`.`user_id` = 3 LIMIT 1
(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'
我怎么知道这个查询是在哪里执行的呢?我想这是因为您正在进行计数<代码>缓存如果被发送到缓存,则无论如何都会被写入,我猜它是在数据库上执行的
为了验证这一点,您可以尝试在一行中多次执行查询,随后的调用应该标记为
缓存我想这是因为您正在进行计数<代码>缓存
如果被发送到缓存,则无论如何都会被写入,我猜它是在数据库上执行的
为了验证这一点,您可以尝试连续多次执行查询,随后的调用应标记为缓存
,谢谢,我认为您是对的,因为所有这些都只在count查询时发生,并且可能没有加载类对象,所以rails不显示它。谢谢,我认为您是对的,因为所有这些都只在count查询中发生,可能是因为没有加载类对象,所以rails不显示它。