Problem Statement:
Our customer was facing a slowness issue during their peak business hours and it was very much difficult to trace the root cause even though they have done all the necessary options which will reduce the slowness. Our customer has 12 years of data and mostly all the major tables are filled with data.
Let’s try to understand more on why the Queue item table is filled.
Analysis:
In order to identify the slowness, enabled the SQL profiler to identify which is causing this issue and they could see Queue item table is in the transaction. When they had analyzed the Queue item table it has got more records similar like activities count. This might be one of the reason for the slowness and we went ahead and analyzed why this table is growing large even though customer is not using the Queue functionality at all.
Even though customer is required to move ahead for the slim down version and they have to proceed for the data migration and this queue item also may have to consider or not is a big question for the customer and it is a confusion metrics.
Root cause:
Finally found out that there is a configuration happened in the forms of all activities and which is causing this issue. The configuration is shown below.
Due to the above configuration whenever the activities [phone call, email, etc] is creating or assigning then it is automatically moving to the owner’s default queue as queue item and the created activities are referenced in the queue item record.
This may happen as a default behavior or unknowingly if somebody checked this configuration. Even though customer is not using the queue or queue item there was unwanted growth of this table whenever the activities are creating. As per CRM we knew that activities records are the important transactions for any business.
Not Possible to Delete:
After finding this root cause the exact crux we understood that we cannot clean up this table to reduce the size of the queue item table due to the relationship that exists between queue item and the activities as shown below.
As per above screen ,we were unable to edit the Relationship Behavior so if we delete the queue item record it will delete the child records as well.
The only final way is to control the growth of this table by unchecking the configuration from the forms of all the activities and other entities if it is checked.
Lesson learnt:
Before proceeding data migration we need to go through all these kind of configurations to check whether it is mandatory for the business requirements or not and configure it accordingly.
*This post is locked for comments