explain.depesz.com

PostgreSQL's explain analyze made readable

Result: Mpvv

Settings
# exclusive inclusive rows x rows loops node
1. 0.238 1,634.513 ↑ 45.0 116 1

Nested Loop (cost=568.45..553,652.8 rows=5,221 width=150) (actual time=79.146..1,634.513 rows=116 loops=1)

  • Buffers: shared hit=386,086
2. 0.095 2.812 ↑ 1.2 43 1

HashAggregate (cost=568.03..568.54 rows=51 width=8) (actual time=2.734..2.812 rows=43 loops=1)

  • Group Key: t.objectid
  • Buffers: shared hit=34
3. 2.698 2.717 ↑ 1.2 43 1

Bitmap Heap Scan on wfm_timecard t (cost=5.58..567.9 rows=51 width=8) (actual time=0.112..2.717 rows=43 loops=1)

  • Filter: ((("current_user"())::text <> ANY ('{wfmadmin,skipvpd}'::text[])) AND vpd_sec_usr.f_sel_policy_all(t.vpd_key, 'WFM_TIMECARD'::character varying))
  • Heap Blocks: exact=31
  • Buffers: shared hit=34
4. 0.019 0.019 ↑ 1.2 129 1

Bitmap Index Scan on timecard6_idx (cost=0..5.56 rows=152 width=0) (actual time=0.019..0.019 rows=129 loops=1)

  • Index Cond: ((t.payrollscheduleoid)::text = '1122004'::text)
  • Buffers: shared hit=3
5. 1,631.463 1,631.463 ↑ 34.0 3 43

Index Scan using payroll1_idx on wfm_payroll wfm_payroll (cost=0.43..10,843.77 rows=102 width=150) (actual time=37.691..37.941 rows=3 loops=43)

  • Index Cond: (wfm_payroll.timecardoid = t.objectid)
  • Filter: ((("current_user"())::text <> ANY ('{wfmadmin,skipvpd}'::text[])) AND vpd_sec_usr.f_sel_policy_all(wfm_payroll.vpd_key, 'WFM_PAYROLL'::character varying))
  • Buffers: shared hit=386,052
Planning time : 0.859 ms
Execution time : 1,634.583 ms