我正在使用 charlotte-ruby/impressionist 来跟踪我的 rails 应用程序中的印象。
我有一个非常简单的实现,类似于快速入门指南中显示的内容。有效地: - 控制器:印象派动作:[:show, :index] - 视图:@post.impressionist_count - 模型:is_impressionable
我今天遇到了一些数据库排队问题,在 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