Topic
  • 2 replies
  • Latest Post - ‏2008-08-01T13:43:52Z by SystemAdmin
SystemAdmin
SystemAdmin
334 Posts

Pinned topic Domino Keyword Lookups

‏2008-07-28T19:16:45Z |
Hi,

We are using Domino Keyword Lookups to return all our selections for a range of fairly complex forms. These Lookups range from Business Units to Products Types etc. and may be cascading e.g. I select a Business Unit and then I want to get a list of departments for that BU and then the Products for that BU / Department Combination.

Some of Lookups are large (30K + records) and performance is not great via DIIOP.

How can we improve the performance of these lookups. Would implementing Web Services provide any performance improvement ?

Any other suggestions ?

Regards
Updated on 2008-08-01T13:43:52Z at 2008-08-01T13:43:52Z by SystemAdmin
  • bosox
    bosox
    20 Posts

    Re: Domino Keyword Lookups

    ‏2008-08-01T12:51:43Z  
    The first option I would explore is limiting the number of records you return. The best way to do this is to design a UI that forces the user to be more specific about what records they want to work with. For example, you could provide a select list with options for the user. Selecting one of the options could be used to return only those records associated with that option.

    A second option is to implement paging where only X records at a time are returned.

    If you can't use either of these two options (i.e. you have a hard requirement to return 30K+ records), you could implement caching. The first fetch would still be slow, but every fetch by every user after that who gets the same data would be instantaneous.

    Have a look at this wiki topic related to performance of your application:
    http://www-10.lotus.com/ldd/pfwiki.nsf/dx/performance-best-practices

    There is also a technote with additional details:
    http://www-1.ibm.com/support/docview.wss?rs=3044&uid=swg21268497
  • SystemAdmin
    SystemAdmin
    334 Posts

    Re: Domino Keyword Lookups

    ‏2008-08-01T13:43:52Z  
    • bosox
    • ‏2008-08-01T12:51:43Z
    The first option I would explore is limiting the number of records you return. The best way to do this is to design a UI that forces the user to be more specific about what records they want to work with. For example, you could provide a select list with options for the user. Selecting one of the options could be used to return only those records associated with that option.

    A second option is to implement paging where only X records at a time are returned.

    If you can't use either of these two options (i.e. you have a hard requirement to return 30K+ records), you could implement caching. The first fetch would still be slow, but every fetch by every user after that who gets the same data would be instantaneous.

    Have a look at this wiki topic related to performance of your application:
    http://www-10.lotus.com/ldd/pfwiki.nsf/dx/performance-best-practices

    There is also a technote with additional details:
    http://www-1.ibm.com/support/docview.wss?rs=3044&uid=swg21268497
    Thanks bosox.

    We are doing most of these things already where we can.

    Our main issue is keyword lists that return large numbers of items for selection of Product etc. We are already using cascading lookups, but this forces screen refreshes etc. and there are still a large number of documents.

    Would implementing Web services prvide any performance improvement over the Domino Keyword List builder in a cascading keyword implementation ?