使用 Activerecord 批量“存在?”查询

问题描述 投票:0回答:1

我有几千个用户,每个用户都有从零到无数个小发明。如何快速找出哪些用户拥有任何 Gizmos,而无需为每个用户执行单独的

exists?
查询或计算无数的 Gizmos?请注意,Gizmo 与用户位于不同的数据库上,但每个 Gizmo 都有一个 user_id。

sql ruby-on-rails postgresql performance activerecord
1个回答
0
投票

你可以尝试这个方法:

# Get user ids that have gizmos
user_ids = Gizmo.distinct.pluck(:user_id)

# Get the users from ids
users_with_gizmos = User.where(id: user_ids)
© www.soinside.com 2019 - 2024. All rights reserved.