EXPLAIN SELECT COUNT(DISTINCT main.id) FROM Tickets main JOIN CachedGroupMembers CachedGroupMembers_1 ON ( CachedGroupMembers_1.Disabled = '0' ) AND ( CachedGroupMembers_1.MemberId = main.Owner ) JOIN CachedGroupMembers CachedGroupMembers_2 ON ( CachedGroupMembers_2.Disabled = '0' ) AND ( CachedGroupMembers_2.MemberId = main.Owner ) LEFT JOIN Groups Groups_3 ON ( LOWER(Groups_3.Domain) = 'rt::ticket-role' ) AND ( Groups_3.Instance = main.id ) LEFT JOIN CachedGroupMembers CachedGroupMembers_4 ON ( CachedGroupMembers_4.Disabled = '0' ) AND ( CachedGroupMembers_4.MemberId = '579312' ) AND ( CachedGroupMembers_4.GroupId = Groups_3.id ) WHERE ( ( main.Queue IN ('3', '3', '7', '7', '4', '4', '6', '6', '18', '18', '1', '1', '8', '8', '17', '17', '11', '11', '15', '15', '23', '23', '20', '20', '22', '22', '21', '21', '12', '12', '14', '14', '19', '19', '10', '10', '5', '5', '9', '9', '28', '28', '38', '38', '30', '30', '34', '34', '37', '37', '31', '31', '32', '32', '36', '36', '33', '33', '35', '35', '41', '41', '40', '40', '42', '42', '43', '43', '39', '39', '51', '51', '52', '52', '53', '53', '61', '63', '63', '64', '66', '68', '69', '69', '71', '71', '72', '72', '73', '73', '70', '70', '75', '75', '81', '81', '82', '82', '83', '83', '84', '84', '86', '86', '87', '89', '89', '90', '90', '92', '92', '93', '93', '94', '94', '91', '24', '24', '95', '95', '97', '97', '98', '98', '103', '103', '105', '106', '106', '107', '107', '112', '112', '109', '109', '110', '110', '111', '111', '113', '113', '114', '114', '117', '117', '118', '118', '120', '120', '119', '119', '116', '116', '115', '115', '121', '121', '122', '122', '124', '124', '123', '123', '125', '125', '126', '126', '127', '127', '137', '138', '138', '140', '140', '133', '134', '133', '153', '153', '154', '154', '155', '155', '156', '156', '132', '157', '157', '158', '158', '160', '160', '162', '162', '165', '165', '167', '168', '169', '169', '170', '170', '173', '179', '179', '181', '181', '184', '184', '185', '185', '187', '187', '164', '164', '190', '190', '191', '228', '80', '80', '230', '230', '231', '231', '183', '183', '232', '232', '27', '233', '13', '13', '241', '242', '243', '243', '245', '244', '251', '16', '29', '253', '253', '256', '257', '257', '242', '258', '261') OR ( CachedGroupMembers_4.MemberId IS NOT NULL AND LOWER(Groups_3.Name) = 'requestor' ) OR ( main.Owner = '579312' ) OR ( CachedGroupMembers_4.MemberId IS NOT NULL AND LOWER(Groups_3.Name) = 'admincc' ) ) ) AND (main.IsMerged IS NULL) AND (main.Status != 'deleted') AND (main.Type = 'ticket') AND (CachedGroupMembers_1.GroupId = '3424108' OR CachedGroupMembers_2.GroupId = '3424109');
QUERY PLAN
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------
Aggregate (cost=15585087.22..15585087.23 rows=1 width=8)
-> Merge Join (cost=2743321.81..13750588.06 rows=733799667 width=4)
Merge Cond: (cachedgroupmembers_1.memberid = main.owner)
-> Sort (cost=2194090.30..2194196.31 rows=42404 width=8)
Sort Key: cachedgroupmembers_1.memberid
-> Gather (cost=1000.43..2190831.15 rows=42404 width=8)
Workers Planned: 2
-> Nested Loop (cost=0.43..2185590.75 rows=17668 width=8)
-> Parallel Seq Scan on cachedgroupmembers cachedgroupmembers_1 (cost=0.00..73131.51 rows=2323945 width=8)
Filter: (disabled = '0'::smallint)
-> Index Only Scan using cachedgroupmembers4 on cachedgroupmembers cachedgroupmembers_2 (cost=0.43..0.90 rows=1 width=8)
Index Cond: ((memberid = cachedgroupmembers_1.memberid) AND (disabled = '0'::smallint))
Filter: ((cachedgroupmembers_1.groupid = 3424108) OR (groupid = 3424109))
-> Sort (cost=549231.51..555372.36 rows=2456341 width=8)
Sort Key: main.owner
-> Hash Left Join (cost=81156.63..288514.50 rows=2456341 width=8)
Hash Cond: (groups_3.id = cachedgroupmembers_4.groupid)
Filter: ((main.queue = ANY ('{3,3,7,7,4,4,6,6,18,18,1,1,8,8,17,17,11,11,15,15,23,23,20,20,22,22,21,21,12,12,14,14,19,19,10,10,5,5,9,9,28,28,38,38,30,30,34,34,37,37,31,31,32,32,36,36,33,33,35
,35,41,41,40,40,42,42,43,43,39,39,51,51,52,52,53,53,61,63,63,64,66,68,69,69,71,71,72,72,73,73,70,70,75,75,81,81,82,82,83,83,84,84,86,86,87,89,89,90,90,92,92,93,93,94,94,91,24,24,95,95,97,97,98,98,103,103,105,106
,106,107,107,112,112,109,109,110,110,111,111,113,113,114,114,117,117,118,118,120,120,119,119,116,116,115,115,121,121,122,122,124,124,123,123,125,125,126,126,127,127,137,138,138,140,140,133,134,133,153,153,154,15
4,155,155,156,156,132,157,157,158,158,160,160,162,162,165,165,167,168,169,169,170,170,173,179,179,181,181,184,184,185,185,187,187,164,164,190,190,191,228,80,80,230,230,231,231,183,183,232,232,27,233,13,13,241,24
2,243,243,245,244,251,16,29,253,253,256,257,257,242,258,261}'::integer[])) OR ((cachedgroupmembers_4.memberid IS NOT NULL) AND (lower((groups_3.name)::text) = 'requestor'::text)) OR (main.owner = 579312) OR ((ca
chedgroupmembers_4.memberid IS NOT NULL) AND (lower((groups_3.name)::text) = 'admincc'::text)))
-> Hash Right Join (cost=81147.75..230564.78 rows=2896824 width=22)
Hash Cond: (groups_3.instance = main.id)
-> Seq Scan on groups groups_3 (cost=0.00..108806.51 rows=3104608 width=14)
Filter: (lower((domain)::text) = 'rt::ticket-role'::text)
-> Hash (cost=70322.31..70322.31 rows=866035 width=12)
-> Seq Scan on tickets main (cost=0.00..70322.31 rows=866035 width=12)
Filter: ((ismerged IS NULL) AND ((status)::text <> 'deleted'::text) AND ((type)::text = 'ticket'::text))
-> Hash (cost=8.71..8.71 rows=14 width=8)
-> Index Only Scan using cachedgroupmembers4 on cachedgroupmembers cachedgroupmembers_4 (cost=0.43..8.71 rows=14 width=8)
Index Cond: ((memberid = 579312) AND (disabled = '0'::smallint))
(28 rows)