我使用charlotte-ruby /印象派追蹤我的Rails應用程序中的展示次數。Rails印象派製作昂貴的查詢
我有一個非常簡單的實現,類似於快速入門指南中顯示的內容。有效: - 控制器:印象派動作:[:秀:指數] - 景觀:@ post.impressionist_count - 型號:is_impressionable
我今天遇到了一些DB排隊問題,發現退房時關注我Heroku的Postgres的內昂貴的查詢:
我立即刪除印象派從我的控制器/次(14時30分),你可以看到它是如何影響性能:
有沒有人遇到類似的問題同印象派的寶石?從數據庫的角度來看,爲什麼它如此昂貴?
編輯:
這裏有添加的指標:
add_index "impressions", ["controller_name", "action_name", "ip_address"], name: "controlleraction_ip_index", using: :btree
add_index "impressions", ["controller_name", "action_name", "request_hash"], name: "controlleraction_request_index", using: :btree
add_index "impressions", ["controller_name", "action_name", "session_hash"], name: "controlleraction_session_index", using: :btree
add_index "impressions", ["impressionable_type", "impressionable_id", "ip_address"], name: "poly_ip_index", using: :btree
add_index "impressions", ["impressionable_type", "impressionable_id", "request_hash"], name: "poly_request_index", using: :btree
add_index "impressions", ["impressionable_type", "impressionable_id", "session_hash"], name: "poly_session_index", using: :btree
add_index "impressions", ["impressionable_type", "message", "impressionable_id"], name: "impressionable_type_message_index", using: :btree
add_index "impressions", ["user_id"], name: "index_impressions_on_user_id", using: :btree
我在安裝'印象主義'寶石時注意到的事情是它在數據庫中創建的大量索引。我擺脫了他們,因爲我沒有看到你很少使用的表格中索引的需要。也許這就是你造成這種情況的原因。 – Iceman 2014-09-02 22:14:34
很難從發佈的數據中得出確切的結論(除了您認爲印象主義*寶石可能是高級別的原因之外)......數據庫中的「印象」表中有任何索引, ve符合那些'where'條款的條件?那裏有一堆「選擇」聚集在一個給定的頁面加載? – khampson 2014-09-03 02:12:57
增加了問題的索引。不太熟悉這一點。任何看起來不正常的東西? – dmt2989 2014-09-03 02:35:28