0

.pluck(:id)经常(和map之前)使用来获取一组记录ID。这通常是为了获取一组相关的模型记录(例如,:people has_many :scores,as :assessed)

假设我有 10,000 人,但对 People 的查询将其限制为 1,000。

people_ids = people.pluck(:id) #people a relation/scoped
scores = Score.where(:assessed_type => 'People', :assessed_id => people_ids)

Score 查询还有更多内容,但我的基本问题是使用一组 1000 个 ID 进行查询是个坏主意吗?

我应该指出,过滤后的 Score 查询将用于获取一组新的 People。这是一个关于人的过滤器。

我的测试数据库中只有几百条记录,而且效果很好——但一定有一个地方 psql 或 Rails 会爆炸。在生产中,我看不到超过 1000 个 id,因为在使用此 Score 选项之前会自动过滤 People。

4

0 回答 0