【问题标题】:Rails query - Intersection of single attribute of 2 large modelsRails 查询 - 2 个大型模型的单个属性的交集
【发布时间】:2016-09-03 22:57:17
【问题描述】:

所以我有 2 个模型,ModelOneModelTwo,它们都有一个 my_field 属性。我想计算有多少不同的ModelTwo 对象,这样my_field 唯一存在于ModelTwo 而不是ModelOne.

使用足够小的数据集,我可以编写一个简单的低效函数并获取我需要的数据,但ModelOneModelTwo 都有数百万个对象。因此,我认为只需获取两个表之间共享多少 my_field 值的交集计数就足够了,因为从 ModelTwo 总计数中减去该计数将得到我正在寻找的数字。

什么是获得此交叉点计数的好方法?

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 activerecord


    【解决方案1】:

    您可以尝试左外连接。像这样的东西。

    ModelTwo.left_outer_joins(:model_ones).distinct
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-05-31
      • 1970-01-01
      • 2020-09-23
      • 2016-12-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多