1. OFBiz
  2. OFBIZ-3856

quicker picklist option functionality


    • Type: Improvement Improvement
    • Status: Open
    • Priority: Minor Minor
    • Resolution: Unresolved
    • Affects Version/s: Release 4.0, Release 09.04, Trunk
    • Fix Version/s: None
    • Component/s: product
    • Labels:
    • Sprint:
      Bug Crush Event - 21/2/2015


      I am noticing as our OFBiz database grows larger, it is taking the PicklistOptions longer to load. Even for a batch as small as 50 orders it can take up to a couple minutes to load. 300 orders can take upwards of 5-10 minutes. My development system with much lesser hardware can get through a hundred orders in seconds, so I have a feeling it has to do with the process/code inefficiency.

      For instance, the picklistoptions function does the following (abbreviated):

      select * from OrderHeader
      for each orderHeader {
      select * from OrderItemShipGroup where orderId = orderHeader.orderId
      for each orderItemShipGroup in orderItemShipGroupList {
      select * from OrderItemShipGrpInvRes where orderId = orderItemShipGroup.orderId;
      for each orderItemShipGrpInvRes in orderItemShipGrpInvResList

      { etc.... }


      These kind of loops can create many hits to the database and greatly slow down the process, especially if the database tables have many records. Our database is now almost 8 gigs. The PicklistOptions process took ~4 minutes for 40 pickable orders.

      I am using OFBiz 4.0, but the trunk version has a lot of the same code. I am opening this ticket to start a conversation of a quicker method to create picklists, like with the use of views or DynamicViewEntitys.

      1. PickListServices.java
        31 kB
        Albert Mayo
      2. quicker picklist.diff
        12 kB
        Albert Mayo
      3. FindOrdersToPick.groovy
        4 kB
        Joe Eckard
      4. entitymodel.xml
        3 kB
        Joe Eckard



          • Assignee:
            Albert Mayo
          • Votes:
            0 Vote for this issue
            0 Start watching this issue


            • Created: