QUERY PLAN
Sort (cost=22091.99..22093.74 rows=700 width=18)
Sort Key: c.object_type
-> HashAggregate (cost=22051.91..22058.91 rows=700 width=18)
Group Key: c.object_type, sub.unreadcount
-> Hash Left Join (cost=16650.00..21897.81 rows=30821 width=10)
Hash Cond: ((c.object_type)::text = (sub.object_type)::text)
-> Hash Right Join (cost=7727.51..12882.16 rows=30821 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..4162.18 rows=32564 width=8)
Filter: (remind_user_id = 1001)
-> Hash (cost=5410.53..5410.53 rows=133278 width=10)
-> Seq Scan on tbl_comments c (cost=0.00..5410.53 rows=133278 width=10)
Filter: is_system
-> Hash (cost=8922.18..8922.18 rows=25 width=10)
-> Subquery Scan on sub (cost=8912.30..8922.18 rows=25 width=10)
-> Finalize GroupAggregate (cost=8912.30..8921.93 rows=25 width=10)
Group Key: uc_1.object_type
-> Gather Merge (cost=8912.30..8921.55 rows=25 width=10)
Workers Planned: 1
-> Partial GroupAggregate (cost=7912.29..7918.73 rows=25 width=10)
Group Key: uc_1.object_type
-> Sort (cost=7912.29..7914.36 rows=825 width=2)
Sort Key: uc_1.object_type
-> Nested Loop (cost=0.42..7872.33 rows=825 width=2)
-> Parallel Seq Scan on tbl_unread_comments uc_1 (cost=0.00..3026.87 rows=1023 width=6)
Filter: ((NOT is_read) AND (remind_user_id = 1001))
-> Index Scan using tbl_comments_pkey on tbl_comments c_1 (cost=0.42..4.74 rows=1 width=4)
Index Cond: (id = uc_1.comment_id)
Filter: is_system