QUERY PLAN
Aggregate (cost=3043.94..3043.95 rows=1 width=8)
-> Sort (cost=3043.52..3043.59 rows=28 width=826)
Sort Key: p.updated_at DESC
-> GroupAggregate (cost=3041.11..3042.85 rows=28 width=826)
Group Key: p.id
-> Sort (cost=3041.11..3041.84 rows=292 width=12)
Sort Key: p.id
-> Hash Left Join (cost=1642.95..3029.15 rows=292 width=12)
Hash Cond: (pa.engineer_id = egr.engineer_id)
-> Hash Left Join (cost=1641.34..3023.53 rows=292 width=16)
Hash Cond: (p.id = pa.project_id)
-> Hash Left Join (cost=1597.93..2976.56 rows=292 width=12)
Hash Cond: (p.id = ttr2.object_id)
-> Nested Loop Left Join (cost=326.52..1679.43 rows=292 width=12)
-> Nested Loop Left Join (cost=326.23..1108.94 rows=25 width=12)
-> Nested Loop Left Join (cost=325.94..908.09 rows=25 width=12)
-> Hash Left Join (cost=325.64..338.29 rows=25 width=12)
Hash Cond: (c.sales_rep = sgr.sales_id)
-> Hash Join (cost=323.54..335.96 rows=25 width=16)
Hash Cond: (p.client_id = c.id)
Join Filter: ((c.sales_rep IS NULL) OR (c.sales_rep = ANY ('{5049,5301,5022,5209,5026,5293,5309,5356,5329,5299,5303,5302,5332,5047,1026,5096,5070,5448,5420,1029,1001,5037,5087,1008,5048,5043,5045,5230,5031,5088,5208,1003,5294,5357,5044,1030,5076,5300,5027,5089,5311,5066,5069,5364,1009,5295,1013,5128,5203,1025,5032,5075,1004,5072,5033,5359,5409,5412,5229,1005,5304,5449,5358,1006,5093}'::integer[])) OR (prr.user_id = 1000) OR (hashed SubPlan 1))
-> Hash Right Join (cost=182.87..195.22 rows=28 width=20)
Hash Cond: (prr.project_id = p.id)
-> Seq Scan on tbl_project_remind_receivers prr (cost=0.00..10.61 rows=661 width=8)
-> Hash (cost=182.52..182.52 rows=28 width=20)
-> Seq Scan on tbl_projects p (cost=0.00..182.52 rows=28 width=20)
Filter: ((bargain_date >= '2025-08-01'::date) AND (bargain_date < '2025-08-31 00:00:01'::timestamp without time zone))
-> Hash (cost=106.52..106.52 rows=1952 width=8)
-> Seq Scan on tbl_clients c (cost=0.00..106.52 rows=1952 width=8)
Filter: ((NOT deleted) AND (id IS NOT NULL))
SubPlan 1
-> Seq Scan on tbl_user_visit_clients (cost=0.00..9.75 rows=1 width=4)
Filter: (user_id = 1000)
-> Hash (cost=1.49..1.49 rows=49 width=4)
-> Seq Scan on tbl_sales_group_relationships sgr (cost=0.00..1.49 rows=49 width=4)
-> Index Scan using tbl_work_logs_project_id_idx on tbl_work_logs arrive (cost=0.29..22.78 rows=1 width=4)
Index Cond: (project_id = p.id)
Filter: ((NOT is_draft) AND (location_in_id IS NOT NULL) AND (location_out_id IS NOT NULL) AND (client_id IS NOT NULL) AND (scenario_id = 1))
-> Index Only Scan using tbl_term_taxonomy_relationships_object_id_term_id_idx on tbl_term_taxonomy_relationships ttr (cost=0.29..8.02 rows=1 width=4)
Index Cond: ((object_id = p.id) AND (term_id = 10))
-> Index Only Scan using tbl_work_logs_project_id_idx on tbl_work_logs sl (cost=0.29..22.77 rows=5 width=4)
Index Cond: (project_id = p.id)
-> Hash (cost=1229.41..1229.41 rows=3360 width=4)
-> Seq Scan on tbl_term_taxonomy_relationships ttr2 (cost=0.00..1229.41 rows=3360 width=4)
Filter: (term_id = 13)
-> Hash (cost=25.96..25.96 rows=1396 width=8)
-> Seq Scan on tbl_project_architects pa (cost=0.00..25.96 rows=1396 width=8)
-> Hash (cost=1.27..1.27 rows=27 width=4)
-> Seq Scan on tbl_engineer_group_relationships egr (cost=0.00..1.27 rows=27 width=4)