【问题标题】:Active Record Query/ SQL joins poor performanceActive Record Query/SQL join 性能不佳
【发布时间】:2025-12-19 02:15:12
【问题描述】:

我正在处理 Active Record Query,我正在尝试找到一种方法来尽可能高效地提取记录。

4张桌子

餐厅, 雇员, 区, 项目

我想抓住所有的餐馆

‘Employees.salary > ?, 15'
‘District.name = ?, Bay_Area’
‘Items.avg_return > ?, 10’
.uniq

目前我正在为员工、地区和项目使用连接,但我觉得这效率不高。我怎样才能尽可能高效地做到这一点?接受活动记录或 SQL 解决方案!

【问题讨论】:

  • 你的索引看起来如何,每个模型之间的关系是什么?
  • 请添加相关索引和您正在使用的实际连接代码

标签: mysql ruby-on-rails activerecord


【解决方案1】:

只要表和连接定义明确,并且列表中的欧洲餐厅数量不多,查询时间应该非常好。如果操作正确,四个连接并不多。

显示您的表格结构,这非常重要:自己找到用户想要查看的数据。当你给用户一个有数百行的表时,那就大错特错了。

让 MySQL 进行搜索。

【讨论】: