ruby-on-rails 通过ActiveRecord使用MySQL子句“Use index('index_name')”的最佳方法

8fq7wneg  于 2023-02-14  发布在  Ruby
关注(0)|答案(2)|浏览(126)

我想在ActiveRecord查询中使用SQL子句“使用索引('index_name ')”,有人知道用ActiveRecord做这件事的好方法吗?我想避免直接向查询中添加字符串。

s4n0splo

s4n0splo1#

我在我的模型中使用这个:

def self.use_index(index)
  from("#{self.table_name} USE INDEX(#{index})")
end
pinkon5k

pinkon5k2#

作为后续,我刚刚实现了一个基于James上面的解决方案,但使用了一个作用域:

scope :force_index, -> (index) {
    from("#{table_name} FORCE INDEX(#{index})")
  }

相关问题