Rob*_*ams 0 ruby mysql indexing activerecord ruby-on-rails
JOIN当有多个记录时,有没有办法强制在 Rails 中的活动记录上建立索引JOIN当存在
我希望最终的 SQL 生成为:
SELECT *
FROM table1
INNER JOIN table2
ON table1.id = table2.id
INNER JOIN table3 USE INDEX('my_index')
ON table2.new_id = table3.new_id
Run Code Online (Sandbox Code Playgroud)
希望这样的事情是可能的吗?
Rails 不支持像开箱即用的连接。但您始终可以编写传递一个字符串来joins准确描述您想要的内容:
Post
.joins(:author)
.joins("INNER JOIN comments USE INDEX('myindex') ON comments.post_id = posts.id")
Run Code Online (Sandbox Code Playgroud)
我使用posts,users代替to ,因为etc. 不遵循 Rails 命名约定comments。table1table3table1
| 归档时间: |
|
| 查看次数: |
1885 次 |
| 最近记录: |