QUERY PLAN
Limit (cost=297.68..297.71 rows=10 width=207)
-> Sort (cost=297.68..297.71 rows=10 width=207)
Sort Key: ps.end_at DESC, ps.updated_at DESC
-> Nested Loop Left Join (cost=27.42..297.52 rows=10 width=207)
-> Hash Left Join (cost=27.15..229.08 rows=10 width=150)
Hash Cond: (ps.service_id = s.id)
-> Nested Loop Left Join (cost=9.95..211.86 rows=10 width=118)
-> Hash Left Join (cost=9.80..210.20 rows=10 width=109)
Hash Cond: (ps.created_by = u.id)
-> Nested Loop Left Join (cost=0.57..200.93 rows=10 width=104)
-> Nested Loop Left Join (cost=0.29..197.22 rows=10 width=82)
Filter: ((c.deduct_points_from = ANY ('{1001,5049,5500,5301,5499,5022,5209,5026,5293,5309,5356,5329,5299,5303,5302,5332,5047,1026,5096,5070,5448,5420,1029,5037,5087,1008,5048,5043,5045,5230,5031,5088,5208,1003,5467,5294,5357,5044,1030,5076,5300,5027,5089,5311,5066,5069,5364,1009,5295,1013,5128,5203,1025,5032,5075,5476,1004,5072,5033,5359,5412,5409,5229,1005,5304,5449,5358,1006,5093}'::integer[])) OR (c.deduct_points_from IS NULL))
-> Seq Scan on tbl_pre_sales ps (cost=0.00..108.83 rows=11 width=58)
Filter: ((NOT is_draft) AND (start_at >= '2026-01-01 00:00:00+08'::timestamp with time zone) AND (start_at <= '2026-12-31 23:59:59+08'::timestamp with time zone) AND (created_by = ANY ('{5085,5248,1015,1022,5064,1023}'::integer[])))
-> Index Scan using tbl_cases_pkey on tbl_cases c (cost=0.29..7.94 rows=1 width=28)
Index Cond: (ps.case_id = id)
-> Index Scan using tbl_projects_pkey on tbl_projects p (cost=0.28..0.37 rows=1 width=26)
Index Cond: (c.project_id = id)
-> Hash (cost=7.44..7.44 rows=144 width=13)
-> Seq Scan on tbl_users u (cost=0.00..7.44 rows=144 width=13)
-> Index Scan using tbl_users_pkey on tbl_users sales (cost=0.14..0.17 rows=1 width=13)
Index Cond: (c.deduct_points_from = id)
-> Hash (cost=14.31..14.31 rows=231 width=36)
-> Seq Scan on tbl_services s (cost=0.00..14.31 rows=231 width=36)
-> Index Scan using tbl_clients_pkey on tbl_clients client (cost=0.28..6.84 rows=1 width=45)
Index Cond: (ps.client_id = id)