add_index为单列两次rails迁移活动记录

时间:2015-04-13 10:14:36

标签: ruby-on-rails activerecord indexing migration rails-activerecord

我必须运行一个查询,其中一个列被调用两次。

Transaction.where("datetime >= ? && datetime <= ?", params[:date_one], :params[:date_two])

现在,索引这是我们做的基本

add_index :transactions, :datetime

现在我的问题是我能做些像......

add_index :transactions, [:datetime, :datetime]

它是否会真正加速搜索或提高性能。提前致谢

1 个答案:

答案 0 :(得分:3)

你不必这样做。向列添加索引会加快对该列的查询速度。在查询中使用此列的次数无关紧要,只有索引的存在与否。此外,您可以像这样重写您的查询:

   Transaction.where("datetime BETWEEN ? AND ?", params[:date_one], :params[:date_two])