[rules-users] Poor performance from a simple join
Mark Proctor
mproctor at codehaus.org
Mon Dec 19 11:51:05 EST 2011
Nested accessors are not currently indexed, because we cannot assure
their immutability:
$call.device_type
If people changed indexed nested accessors, without correctly notifying
the engine it would result in integrity problems.
If you have a large number of these, trying flattening the model, such
as you would do in a database.
Mark
On 19/12/2011 16:23, David Martin wrote:
> Folks:
>
> My co-workers and I have been using Drools to great success, but we
> ran smack into a performance brick wall recently.
>
> In the example below, both BINNING_INPUT and LU_DEVICE_TYPE have large
> numbers of associated facts in working memory (BINNING_INPUT has more
> than 8 million facts in working memory, LU_DEVICE_TYPE about 10k.)
>
> LU_DEVICE_TYPE models a lookup table.
>
> rule "Binning for Attribute: Device_type_desc"
> when
> $call :
> BINNING_INPUT()
> $device_typeLookup :
> LU_DEVICE_TYPE(
> $call.device_type == device_type
> )
>
> then
> $call.setDevice_type_desc($device_typeLookup.getDevice_type_desc());
> end
>
> It's a simple enough rule: join on the device_type field.
> Unfortunately, this rule and a few others like it are taking FOREVER
> to insert. Even when I cut the number of BINNING_INPUT facts in
> working memory down from 8M to 10k.
>
> This feels like a basic Drools question. But I can't seem to find any
> help from google.
>
> Please advise!
>
> Thanks in advance,
>
> Dave Martin
>
>
>
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20111219/443ae335/attachment.html
More information about the rules-users
mailing list