0

我们使用了大约 30 条规则,其中包含多个条件。我们假设 Drools 获取一条记录并将其与记录进行比较,然后将给出每条记录的输出。因此处理 100 万条记录所需的时间约为 4 小时。我们不能批量处理记录吗?我的意思是说大量并减少处理时间。请帮我解决这个问题。感谢您的回复。

4

1 回答 1

0

在一批中插入 100 万个事实是一个非常糟糕的策略(除非您需要从大量中找到组合)。文档清楚地表明所有工作(至少在 5.x 中)都是在插入和修改期间完成的。(据报道,6.x 有所不同,但用大量对象不必要地填充内存仍然是一种不好的做法。)

只需插入,在一些合适的数字之后,调用 fireAllRules() 并处理(传输,...)结果。确保此类批次的工作内存中没有“死库存” - 这也会减慢您的速度。

于 2014-03-10T14:19:47.933 回答