QUERY PLAN
Sort (cost=23933.02..23939.86 rows=2736 width=18)
Sort Key: c.object_type
-> HashAggregate (cost=23749.46..23776.82 rows=2736 width=18)
Group Key: c.object_type, sub.unreadcount
-> Hash Left Join (cost=18380.00..23709.50 rows=7993 width=10)
Hash Cond: ((c.object_type)::text = (sub.object_type)::text)
-> Hash Right Join (cost=7366.57..12673.53 rows=7993 width=2)
Hash Cond: (uc.comment_id = c.id)
Filter: ((uc.remind_user_id = 1001) OR (c.created_by = 1001))
-> Seq Scan on tbl_unread_comments uc (cost=0.00..5202.40 rows=39830 width=8)
Filter: (remind_user_id = 1001)
-> Hash (cost=6934.61..6934.61 rows=34557 width=10)
-> Seq Scan on tbl_comments c (cost=0.00..6934.61 rows=34557 width=10)
Filter: (NOT is_system)
-> Hash (cost=11012.83..11012.83 rows=48 width=11)
-> Subquery Scan on sub (cost=11004.18..11012.83 rows=48 width=11)
-> Finalize GroupAggregate (cost=11004.18..11012.35 rows=48 width=11)
Group Key: uc_1.object_type
-> Gather Merge (cost=11004.18..11011.63 rows=48 width=11)
Workers Planned: 1
-> Partial GroupAggregate (cost=10004.17..10006.22 rows=48 width=11)
Group Key: uc_1.object_type
-> Sort (cost=10004.17..10004.70 rows=209 width=3)
Sort Key: uc_1.object_type
-> Nested Loop (cost=0.42..9996.12 rows=209 width=3)
-> Parallel Seq Scan on tbl_unread_comments uc_1 (cost=0.00..3786.59 rows=1306 width=7)
Filter: ((NOT is_read) AND (remind_user_id = 1001))
-> Index Scan using tbl_comments_pkey on tbl_comments c_1 (cost=0.42..4.75 rows=1 width=4)
Index Cond: (id = uc_1.comment_id)
Filter: (NOT is_system)