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

add_index for a single column twice rails migration active record

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

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

现在在索引时这是我们做的基本工作

add_index :transactions, :datetime

现在我的问题是我可以做类似...

add_index :transactions, [:datetime, :datetime]

它真的会加速搜索或提高性能吗?提前致谢

您不必那样做。向列添加索引可加快对该列的查询。在查询中使用该列多少次并不重要,重要的是索引的存在与否。此外,您可以像这样重写您的查询:

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