【发布时间】:2016-06-15 15:37:53
【问题描述】:
我在使用这两个查询时遇到了一些性能问题:
any_impression = Impression.exists?(user_id: user_id, created_at: range)
any_visit = Visit.exists?(user_id: user_id, created_at: range)
他们为每个用户拥有大约 50 万条记录,并且运行时间超过 15 秒。
基于此,我想创建两个索引,每个搜索一个。
我的问题是,我应该创建的索引是:
add_index :visits, [:user_id, :created_at]
add_index :impressions, [:user_id, :created_at]
或者需要更多特定信息来查询上面使用创建的索引?
非常感谢。
【问题讨论】:
标签: ruby-on-rails postgresql activerecord rails-activerecord postgresql-9.3