explain.depesz.com

PostgreSQL's explain analyze made readable

Result: 87yE

Settings
# exclusive inclusive rows x rows loops node
1. 54.330 50,455.238 ↑ 26.2 5 1

Gather (cost=15,389.33..795,438.78 rows=131 width=101) (actual time=608.296..50,455.238 rows=5 loops=1)

  • Workers Planned: 2
  • Workers Launched: 2
2. 521.457 50,400.908 ↑ 27.5 2 3 / 3

Nested Loop (cost=14,389.33..794,425.68 rows=55 width=101) (actual time=5,309.816..50,400.908 rows=2 loops=3)

3. 16,366.065 16,479.085 ↓ 3.3 344,334 3 / 3

Parallel Bitmap Heap Scan on js_retail_sbs_work_si "REM" (cost=14,388.48..599,828.81 rows=103,202 width=47) (actual time=445.712..16,479.085 rows=344,334 loops=3)

  • Recheck Cond: ((pxobjclass)::text = 'JS-Retail-SBS-Work-SI-Remuneration'::text)
  • Filter: (totalamount >= 0.01)
  • Rows Removed by Filter: 1733
  • Heap Blocks: exact=145612
4. 113.020 113.020 ↓ 1.0 1,038,201 1 / 3

Bitmap Index Scan on extract_pxobj_1 (cost=0.00..14,326.56 rows=1,025,333 width=0) (actual time=339.060..339.061 rows=1,038,201 loops=1)

  • Index Cond: ((pxobjclass)::text = 'JS-Retail-SBS-Work-SI-Remuneration'::text)
5. 24,792.024 33,400.366 ↓ 0.0 0 1,033,001 / 3

Bitmap Heap Scan on js_retail_sbs_work_si "PC0" (cost=0.85..1.89 rows=1 width=63) (actual time=0.097..0.097 rows=0 loops=1,033,001)

  • Recheck Cond: ((pzinskey)::text = ("REM".pxcoverinskey)::text)
  • Filter: (((pxobjclass)::text ~~ 'JS-Retail-SBS-Work-SI%'::text) AND ((pyid)::text !~~ 'ECM%'::text) AND ((pystatuswork)::text = 'Resolved-Completed'::text) AND (to_char(date_trunc('day'::text, pxcreatedatetime), 'YYYYMMDD'::text) >= '20200508'::text) AND (to_char(date_trunc('day'::text, pxcreatedatetime), 'YYYYMMDD'::text) <= '20200514'::text))
  • Rows Removed by Filter: 1
  • Heap Blocks: exact=174835
6. 8,608.342 8,608.342 ↑ 1.0 1 1,033,001 / 3

Bitmap Index Scan on js_retail_sbs_work_si_pk (cost=0.00..0.85 rows=1 width=0) (actual time=0.025..0.025 rows=1 loops=1,033,001)

  • Index Cond: ((pzinskey)::text = ("REM".pxcoverinskey)::text)