我有一个这样的架构:
-record(sale, {
id,
price,
tax,
sku,
datetime
})
-record(refund, {
id,
sale_id,
datetime
})
表中有大约 600,000 条记录,sale
表中有大约 20,000条记录refund
。
我需要折叠销售表中的数据,将每个数据sku
与收到的金额(price
)和退款金额(通过检查#refund.sale_id
)分组。
有没有一种有效的方法可以使用 Mnesia 来避免 N+1 查询问题,对于sale
折叠操作中的每个,我需要再次调用 mnesia 以查看是否存在退款?某种方式做一个幼稚的加入?