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])
我必须 运行 一个查询,其中单个列被调用两次。
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])