Idea ID: 1686827

KMgroup with large number of users causes performance and mgmt issues - reference SD02327321

Status : Waiting for Votes
over 2 years ago

1. Brief Description

The current design of knowledge management groups (kmgroups) in Service Manager is not scalable to kmgroups with 10,000 operators. Login time can exceed 30 seconds easily.

We identified the cause in the fact that the kmgroup record contains an array with all operators belonging to this group – hence queries to which kmgroup contains in this array the current user is slow.

When sqldebug:1 is activated, there should many many Selects on kmgroupa1 table.

In this context, I’d also like to refer to existing ER QCCR1E60037.

2. Briefly describe your idea

Storing the members of a kmgroup in array inside the record is not scalable: So the members should be stored outside in a way that can be efficiently queried.

3. Benefits / Value

This design change will improve performance.

4. Explain why is this important? (When used, by which role, and benefits / value)

As default membership for large user group is required, this is causes issues especially for large customers.

Design details

There should be different possible approaches to make this more efficient like:

* Storing kmgroup name in operator records – then finding the kmgroups is just picking up the values from here

* Storing (operator, kmgroup) pairs into a new table.


5. Explain how would you like this idea designed / implemented

Well, it’s the outcome that counts.

If I’d about to make the design, I’d tend to:

* Storing (operator, kmgroup) pairs into a new table.