<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    On 19/12/2011 16:58, Mark Proctor wrote:
    <blockquote cite="mid:4EEF6D22.3010009@codehaus.org" type="cite">
      <meta content="text/html; charset=ISO-8859-1"
        http-equiv="Content-Type">
      sorry I misread that, you've put the binding first, not using a
      nested accessor.<br>
      <br>
      Currently you have<br>
      $call&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : BINNING_INPUT()<br>
      $device_typeLookup : LU_DEVICE_TYPE( $call.device_type ==
      device_type )<br>
      <br>
      try rewriting it as:<br>
      $call&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : BINNING_INPUT()<br>
      $device_typeLookup : LU_DEVICE_TYPE( device_type ==
      $call.device_type )<br>
      <br>
      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.<br>
      <br>
      Ass Mauricio suggests, maybe you can restrict the number of
      instances for BINNING_INPUT and LU_DEVICE_TYPE too.<br>
    </blockquote>
    ooops<br>
    s/Ass/As/<br>
    <blockquote cite="mid:4EEF6D22.3010009@codehaus.org" type="cite"> <br>
      Mark<br>
      <br>
      <br>
      <br>
      <br>
      On 19/12/2011 16:51, Mark Proctor wrote:
      <blockquote cite="mid:4EEF6B79.6000600@codehaus.org" type="cite">
        <meta content="text/html; charset=ISO-8859-1"
          http-equiv="Content-Type">
        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'; ">&nbsp; when</span><br
                    style="font-family: Courier New;">
                  <span style="font-family: 'Courier New'; ">&nbsp;&nbsp;&nbsp; $call :</span><br
                    style="font-family: Courier New;">
                  <span style="font-family: 'Courier New'; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span
                      style="font-weight: bold;"> BINNING_INPUT</span>()</span><br
                    style="font-family: Courier New;">
                  <span style="font-family: 'Courier New'; ">&nbsp;&nbsp;&nbsp;
                    $device_typeLookup :</span><br style="font-family:
                    Courier New;">
                  <span style="font-family: 'Courier New'; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span
                      style="font-weight: bold;"> LU_DEVICE_TYPE</span>(</span><br
                    style="font-family: Courier New;">
                  <span style="font-family: 'Courier New'; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                    $call.device_type == device_type</span><br
                    style="font-family: Courier New;">
                  <span style="font-family: 'Courier New'; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )</span><br
                    style="font-family: Courier New;">
                  <br style="font-family: Courier New;">
                  <span style="font-family: 'Courier New'; ">&nbsp; then</span><br
                    style="font-family: Courier New;">
                  <span style="font-family: 'Courier New'; ">&nbsp;&nbsp;&nbsp;
                    $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.&nbsp; Unfortunately, this rule and a few others like
                  it are taking FOREVER to insert. &nbsp;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.&nbsp; 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 moz-do-not-send="true" class="moz-txt-link-abbreviated" href="mailto:rules-users@lists.jboss.org">rules-users@lists.jboss.org</a>
<a moz-do-not-send="true" 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>
      </blockquote>
      <br>
    </blockquote>
    <br>
  </body>
</html>