In RT5 the query generated when the list of ticket results is sorted by owner is very heavy and slow, being unmanageable for the system compared to the one generated in RT4, it is possible to correct it
Examples:
RT5:
SELECT main.* FROM Tickets main
LEFT JOIN Groups Groups_2 ON ( Groups_2.Domain = 'RT::Ticket-Role' ) AND ( Groups_2.Name = 'Owner' ) AND ( Groups_2.Instance = main.id )
JOIN Queues Queues_1 ON ( Queues_1.id = main.Queue )
LEFT JOIN CachedGroupMembers CachedGroupMembers_3 ON ( CachedGroupMembers_3.Disabled = '0' )
AND ( CachedGroupMembers_3.GroupId != CachedGroupMembers_3.MemberId ) AND ( CachedGroupMembers_3.GroupId = Groups_2.id )
LEFT JOIN Groups Groups_4 ON ( Groups_4.id = CachedGroupMembers_3.MemberId )
LEFT JOIN Users Users_5 ON ( Users_5.id = CachedGroupMembers_3.MemberId )
WHERE (Groups_4.id IS NULL) AND (main.IsMerged IS NULL)
AND (main.Status != 'deleted') AND (main.Type = 'ticket')
AND (main.Queue = '12' AND ( ( Queues_1.Lifecycle = 'approvals' AND main.Status IN ('new', 'open', 'stalled') )
OR ( Queues_1.Lifecycle = 'default' AND main.Status IN ('new', 'open', 'stalled') ) ) )
GROUP BY main.id ORDER BY MAX(Users_5.Name) DESC LIMIT 50;
Time: 9 min
RT4:
SELECT main.* FROM Tickets main JOIN Queues Queues_1 ON ( Queues_1.id = main.Queue )
LEFT JOIN Users Users_2 ON ( Users_2.id = main.Owner )
WHERE (main.IsMerged IS NULL) AND (main.Status != 'deleted')
AND (main.Type = 'ticket') AND (main.Queue = '12'
AND ( ( Queues_1.Lifecycle = 'assets'
AND ( main.Status = 'new' OR main.Status = 'allocated' OR main.Status = 'in-use' ) )
OR ( Queues_1.Lifecycle = 'approvals' AND ( main.Status = 'new' OR main.Status = 'open' OR main.Status = 'stalled' ) )
OR ( Queues_1.Lifecycle = 'default' AND ( main.Status = 'new' OR main.Status = 'open' OR main.Status = 'stalled' ) ) ) )
ORDER BY Users_2.Name ASC LIMIT 50
Time: 14 ms