2012-07-31 22 views
1

檢查查詢我有以下從軌道日誌查詢如何從檢索數據庫或緩存

  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

我怎麼知道店裏空載或高速緩存字?

回答

1

我認爲這是因爲你在做一個計數。 CACHE如果它被髮送到高速緩存,本來是寫的,我猜測它是在DB上執行的。

爲了驗證這一點,你可以嘗試在連續執行查詢幾次,後續的調用會被標記爲CACHE

+0

感謝我認爲你是對的,因爲所有這樣的情況只在數查詢,並且可以作爲沒有加載類對象,所以rails不顯示它。 – PriteshJ 2012-07-31 13:05:52