Rails 中间强制使用 Index - 看到社区所以写一下

class ApplicationRecord < ActiveRecord::Base
  self.abstract_class = true

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

 ActiveRecord::Base.connection.tables
 ActiveRecord::Base.connection.indexes("users")
 ActiveRecord::Base.connection.indexes("users").pluck(:name)
Module
ActiveRecord::QueryMethods
 
Methods
from

from(value, subquery_name = nil)
Specifies table from which the records will be fetched. For example:

Topic.select('title').from('posts')
# SELECT title FROM posts
Can accept other relation objects. For example:

Topic.select('title').from(Topic.approved)
# SELECT title FROM (SELECT * FROM topics WHERE approved = 't') subquery

Topic.select('a.title').from(Topic.approved, :a)
# SELECT a.title FROM (SELECT * FROM topics WHERE approved = 't') a

GitHub - line 819

你可能感兴趣的:(Rails 中间强制使用 Index - 看到社区所以写一下)