QUERY PLAN
Limit (cost=2731.24..3465.49 rows=20 width=518)
-> Result (cost=2731.24..3538.91 rows=22 width=518)
-> Sort (cost=2731.24..2731.29 rows=22 width=486)
Sort Key: p.bargain_date DESC, p.created_at DESC
-> GroupAggregate (cost=2725.52..2730.75 rows=22 width=486)
Group Key: p.id
-> Sort (cost=2725.52..2726.18 rows=264 width=374)
Sort Key: p.id
-> Hash Left Join (cost=1121.08..2714.90 rows=264 width=374)
Hash Cond: (pa.engineer_id = egr.engineer_id)
-> Hash Left Join (cost=1119.47..2709.67 rows=264 width=378)
Hash Cond: (p.id = pa.project_id)
-> Hash Left Join (cost=1076.85..2663.78 rows=264 width=374)
Hash Cond: (p.id = ttr2.object_id)
-> Nested Loop Left Join (cost=16.90..1582.84 rows=264 width=374)
-> Nested Loop Left Join (cost=16.61..1071.93 rows=22 width=366)
-> Nested Loop Left Join (cost=16.32..892.89 rows=22 width=366)
-> Nested Loop Left Join (cost=16.03..382.57 rows=22 width=358)
-> Nested Loop (cost=15.89..371.16 rows=22 width=362)
-> Hash Left Join (cost=15.61..252.66 rows=22 width=358)
Hash Cond: (p.id = prr.project_id)
-> Seq Scan on tbl_projects p (cost=0.00..236.68 rows=22 width=358)
Filter: ((bargain_date >= '2025-01-01'::date) AND (bargain_date < '2025-12-31 00:00:01'::timestamp without time zone) AND (bargain_date >= '2025-01-01'::date) AND (bargain_date < '2026-01-01 00:00:00'::timestamp without time zone) AND (project_status = 3) AND (created_by = ANY ('{1001,1004,1005,1013,5087,5295,5300,5311,5329,5332,5420}'::integer[])))
-> Hash (cost=9.16..9.16 rows=516 width=4)
-> Seq Scan on tbl_project_remind_receivers prr (cost=0.00..9.16 rows=516 width=4)
-> Index Scan using tbl_clients_pkey on tbl_clients c (cost=0.28..5.39 rows=1 width=8)
Index Cond: (id = p.client_id)
Filter: (NOT deleted)
-> Index Only Scan using tbl_sales_group_relationships_pkey on tbl_sales_group_relationships sgr (cost=0.14..0.51 rows=1 width=4)
Index Cond: (sales_id = c.sales_rep)
-> Index Scan using tbl_work_logs_project_id_idx on tbl_work_logs arrive (cost=0.29..23.19 rows=1 width=12)
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.13 rows=1 width=4)
Index Cond: ((object_id = p.id) AND (term_id = 10))
-> Index Scan using tbl_work_logs_project_id_idx on tbl_work_logs sl (cost=0.29..23.17 rows=5 width=12)
Index Cond: (project_id = p.id)
-> Hash (cost=1019.58..1019.58 rows=3230 width=4)
-> Seq Scan on tbl_term_taxonomy_relationships ttr2 (cost=0.00..1019.58 rows=3230 width=4)
Filter: (term_id = 13)
-> Hash (cost=25.61..25.61 rows=1361 width=8)
-> Seq Scan on tbl_project_architects pa (cost=0.00..25.61 rows=1361 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)
SubPlan 1
-> Aggregate (cost=36.64..36.65 rows=1 width=32)
-> Seq Scan on tbl_invoices i (cost=0.00..36.64 rows=1 width=6)
Filter: (project_id = p.id)