explain.depesz.com

PostgreSQL's explain analyze made readable

Result: zEG : ft_ee_payments_ytd_01

Settings
# exclusive inclusive rows x rows loops node
1. 154.366 2,845.740 ↓ 89,229.3 267,688 1

GroupAggregate (cost=176,733.90..176,733.99 rows=3 width=66) (actual time=2,600.240..2,845.740 rows=267,688 loops=1)

  • Group Key: fepy.ee_er_id, fepy.ee_id, fepy.ee_payslip_id, ferp.er_pay_name, ferp.pay_code
2. 364.439 2,691.374 ↓ 89,229.3 267,688 1

Sort (cost=176,733.90..176,733.91 rows=3 width=38) (actual time=2,600.217..2,691.374 rows=267,688 loops=1)

  • Sort Key: fepy.ee_id, fepy.ee_payslip_id, ferp.er_pay_name, ferp.pay_code
  • Sort Method: external merge Disk: 10232kB
3. 128.526 2,326.935 ↓ 89,229.3 267,688 1

Nested Loop (cost=98,811.57..176,733.88 rows=3 width=38) (actual time=1,427.243..2,326.935 rows=267,688 loops=1)

4. 911.594 1,930.721 ↓ 89,229.3 267,688 1

Hash Join (cost=98,811.42..176,733.35 rows=3 width=20) (actual time=1,427.220..1,930.721 rows=267,688 loops=1)

  • Hash Cond: ((fepy.ee_id = fenvy.ee_id) AND (fepy.ee_payslip_id = fenvy.payslip_id))
5. 602.123 602.123 ↑ 1.0 2,492,516 1

Seq Scan on ft_ee_payments_ytd fepy (cost=0.00..59,190.20 rows=2,497,560 width=20) (actual time=0.018..602.123 rows=2,492,516 loops=1)

  • Filter: (ee_er_id = 30)
  • Rows Removed by Filter: 42261
6. 31.058 417.004 ↓ 5.4 84,965 1

Hash (cost=98,574.47..98,574.47 rows=15,797 width=12) (actual time=417.004..417.004 rows=84,965 loops=1)

  • Buckets: 131072 (originally 16384) Batches: 2 (originally 1) Memory Usage: 3073kB
7. 360.414 385.946 ↓ 5.4 84,965 1

Bitmap Heap Scan on ft_ee_net_values_ytd fenvy (cost=4,268.28..98,574.47 rows=15,797 width=12) (actual time=31.542..385.946 rows=84,965 loops=1)

  • Recheck Cond: ((ee_er_id = 30) AND ((process_year)::text = ANY ('{20172018,20182019}'::text[])))
  • Filter: ((process_date >= '2017-04-06'::date) AND (process_date <= '2018-04-05'::date))
  • Rows Removed by Filter: 49450
  • Heap Blocks: exact=26844
8. 25.532 25.532 ↓ 1.0 134,469 1

Bitmap Index Scan on ft_enetvaly_u2 (cost=0.00..4,264.33 rows=131,547 width=0) (actual time=25.532..25.532 rows=134,469 loops=1)

  • Index Cond: ((ee_er_id = 30) AND ((process_year)::text = ANY ('{20172018,20182019}'::text[])))
9. 267.688 267.688 ↑ 1.0 1 267,688

Index Scan using ft_erpay_p on ft_er_payments ferp (cost=0.15..0.17 rows=1 width=26) (actual time=0.001..0.001 rows=1 loops=267,688)

  • Index Cond: (er_pay_id = fepy.ee_pay_id)