On 19/12/2011 16:58,
Mark Proctor wrote:
sorry I misread that, you've put the binding
first, not using a nested accessor.
Currently you have
$call : BINNING_INPUT()
$device_typeLookup : LU_DEVICE_TYPE( $call.device_type ==
device_type )
try rewriting it as:
$call : BINNING_INPUT()
$device_typeLookup : LU_DEVICE_TYPE( device_type ==
$call.device_type )
I know edson was working on making such that the order no
longer matters, I'm not sure what progress he made on that
and he's away at the moment so can't answer. It may be
that he's already done that work and it's correctly
getting executed as an indexed constraint, or it might be
rewritting to an eval. Hopefully edson can answer when he
gets back.
Ass Mauricio suggests, maybe you can restrict the number
of instances for BINNING_INPUT and LU_DEVICE_TYPE too.
ooops
s/Ass/As/
Mark
On 19/12/2011 16:51, Mark Proctor wrote:
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@lists.jboss.orghttps://lists.jboss.org/mailman/listinfo/rules-users
_______________________________________________ rules-users
mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users