<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
Nested accessors are not currently indexed, because we cannot assure
their immutability:<br>
<span id="OLK_SRC_BODY_SECTION"><span style="font-family: 'Courier
New'; ">$call.device_type<br>
<br>
If people changed indexed nested accessors, without correctly
notifying the engine it would result in integrity problems.<br>
<br>
If you have a large number of these, trying flattening the
model, such as you would do in a database.<br>
<br>
Mark<br>
</span></span>On 19/12/2011 16:23, David Martin wrote:
<blockquote
cite="mid:CB14A3D9.D29C%25david.martin@mercedsystems.com"
type="cite">
<meta http-equiv="Content-Type" content="text/html;
charset=ISO-8859-1">
<div><span class="Apple-style-span" style="font-family: Tahoma;
font-size: 13px; ">Folks:</span></div>
<span id="OLK_SRC_BODY_SECTION">
<div dir="ltr">
<div ocsi="0" fpstyle="1">
<div style="direction: ltr;font-family: Tahoma;color:
#000000;font-size: 10pt;"><br>
My co-workers and I have been using Drools to great
success, but we ran smack into a performance brick wall
recently.<br>
<br>
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.)
</div>
</div>
</div>
</span>
<div><br>
</div>
<span id="OLK_SRC_BODY_SECTION">
<div dir="ltr">
<div ocsi="0" fpstyle="1">
<div style="direction: ltr;font-family: Tahoma;color:
#000000;font-size: 10pt;">LU_DEVICE_TYPE models a lookup
table.<br>
<br>
<span style="font-family: 'Courier New'; ">rule "Binning
for Attribute: Device_type_desc"</span><br
style="font-family: Courier New;">
<span style="font-family: 'Courier New'; "> when</span><br
style="font-family: Courier New;">
<span style="font-family: 'Courier New'; "> $call :</span><br
style="font-family: Courier New;">
<span style="font-family: 'Courier New'; "> <span
style="font-weight: bold;">
BINNING_INPUT</span>()</span><br style="font-family:
Courier New;">
<span style="font-family: 'Courier New'; ">
$device_typeLookup :</span><br style="font-family:
Courier New;">
<span style="font-family: 'Courier New'; "> <span
style="font-weight: bold;">
LU_DEVICE_TYPE</span>(</span><br style="font-family:
Courier New;">
<span style="font-family: 'Courier New'; ">
$call.device_type == device_type</span><br
style="font-family: Courier New;">
<span style="font-family: 'Courier New'; "> )</span><br
style="font-family: Courier New;">
<br style="font-family: Courier New;">
<span style="font-family: 'Courier New'; "> then</span><br
style="font-family: Courier New;">
<span style="font-family: 'Courier New'; ">
$call.setDevice_type_desc($device_typeLookup.getDevice_type_desc());</span><br
style="font-family: Courier New;">
<span style="font-family: 'Courier New'; ">end</span><br>
<br>
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.<br>
<br>
This feels like a basic Drools question. But I can't seem
to find any help from google.<br>
<br>
Please advise!<br>
<br>
Thanks in advance,<br>
<br>
Dave Martin<br>
<br>
</div>
</div>
</div>
</span>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
rules-users mailing list
<a class="moz-txt-link-abbreviated" href="mailto:rules-users@lists.jboss.org">rules-users@lists.jboss.org</a>
<a class="moz-txt-link-freetext" href="https://lists.jboss.org/mailman/listinfo/rules-users">https://lists.jboss.org/mailman/listinfo/rules-users</a>
</pre>
</blockquote>
<br>
</body>
</html>