我有来自rails logs的以下查询
调用数据库
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'
没有LOAD或CACHE字表示存储类型3
我如何知道此查询的执行位置?
答案 0 :(得分:1)
我认为这是因为你在做计数。如果将CACHE
发送到缓存,则无论如何都会编写CACHE
,我的猜测是它是在数据库上执行的。
要验证这一点,您可以尝试连续多次执行查询,后续调用应标记为{{1}}