QUERY PLAN
Sort (cost=24004.31..24010.42 rows=2444 width=18)
Sort Key: c.object_type
-> HashAggregate (cost=23842.34..23866.78 rows=2444 width=18)
Group Key: c.object_type, sub.unreadcount
-> Hash Left Join (cost=17465.31..23761.26 rows=16215 width=10)
Hash Cond: ((c.object_type)::text = (sub.object_type)::text)
-> Hash Right Join (cost=10071.77..16321.69 rows=16215 width=2)
Hash Cond: (uc.comment_id = c.id)
Filter: ((uc.remind_user_id = 1013) OR (c.created_by = 1013))
-> Seq Scan on tbl_unread_comments uc (cost=0.00..5241.15 rows=12101 width=8)
Filter: (remind_user_id = 1013)
-> Hash (cost=6935.95..6935.95 rows=180386 width=10)
-> Seq Scan on tbl_comments c (cost=0.00..6935.95 rows=180386 width=10)
Filter: is_system
-> Hash (cost=7392.95..7392.95 rows=47 width=11)
-> Subquery Scan on sub (cost=7383.65..7392.95 rows=47 width=11)
-> Finalize GroupAggregate (cost=7383.65..7392.48 rows=47 width=11)
Group Key: uc_1.object_type
-> Gather Merge (cost=7383.65..7391.77 rows=47 width=11)
Workers Planned: 1
-> Partial GroupAggregate (cost=6383.64..6386.48 rows=47 width=11)
Group Key: uc_1.object_type
-> Sort (cost=6383.64..6384.43 rows=315 width=3)
Sort Key: uc_1.object_type
-> Nested Loop (cost=0.42..6370.57 rows=315 width=3)
-> Parallel Seq Scan on tbl_unread_comments uc_1 (cost=0.00..3814.74 rows=376 width=7)
Filter: ((NOT is_read) AND (remind_user_id = 1013))
-> Index Scan using tbl_comments_pkey on tbl_comments c_1 (cost=0.42..6.80 rows=1 width=4)
Index Cond: (id = uc_1.comment_id)
Filter: is_system