explain.depesz.com

PostgreSQL's explain analyze made readable

Result: 39US : a

Settings
# exclusive inclusive rows x rows loops node
1. 0.000 69,067.889 ↑ 1.0 1 1

Finalize Aggregate (cost=219,118.16..219,118.17 rows=1 width=8) (actual time=69,067.889..69,067.889 rows=1 loops=1)

  • Buffers: shared hit=49225 read=139824
2. 29.666 69,071.976 ↓ 1.5 3 1

Gather (cost=219,117.95..219,118.16 rows=2 width=8) (actual time=69,058.206..69,071.976 rows=3 loops=1)

  • Workers Planned: 2
  • Workers Launched: 2
  • Buffers: shared hit=49225 read=139824
3. 1.282 69,042.310 ↑ 1.0 1 3 / 3

Partial Aggregate (cost=218,117.95..218,117.96 rows=1 width=8) (actual time=69,042.310..69,042.310 rows=1 loops=3)

  • Buffers: shared hit=49225 read=139824
4. 3.575 69,041.028 ↓ 5.2 2,239 3 / 3

Nested Loop Anti Join (cost=20,864.34..218,116.87 rows=432 width=0) (actual time=5,311.438..69,041.028 rows=2,239 loops=3)

  • Join Filter: (rd.ord_seq = od.ord_seq)
  • Buffers: shared hit=49225 read=139824
5. 7.073 68,831.465 ↓ 5.1 2,239 3 / 3

Nested Loop (cost=20,863.49..217,559.17 rows=439 width=19) (actual time=5,309.268..68,831.465 rows=2,239 loops=3)

  • Buffers: shared hit=29321 read=139550
6. 65,263.511 67,001.846 ↓ 4.6 2,239 3 / 3

Parallel Bitmap Heap Scan on pay_ord_dtl od (cost=20,862.94..215,358.30 rows=486 width=19) (actual time=5,305.643..67,001.846 rows=2,239 loops=3)

  • Recheck Cond: ((goods_div_cd)::text = '0010'::text)
  • Filter: (((ord_cancl_yn)::text = 'N'::text) AND ((goods_dtl_div_cd)::text = '0022'::text))
  • Rows Removed by Filter: 210983
  • Heap Blocks: exact=46047
  • Buffers: shared hit=5172 read=136558
7. 1,738.335 1,738.335 ↑ 1.0 639,667 1 / 3

Bitmap Index Scan on ix_payment_pay_ord_dtl_07 (cost=0.00..20,862.65 rows=665,878 width=0) (actual time=5,215.006..5,215.006 rows=639,667 loops=1)

  • Index Cond: ((goods_div_cd)::text = '0010'::text)
  • Buffers: shared hit=1 read=3837
8. 1,822.546 1,822.546 ↑ 1.0 1 6,717 / 3

Index Only Scan using ix_payment_pay_ord_09 on pay_ord o (cost=0.56..4.53 rows=1 width=15) (actual time=0.814..0.814 rows=1 loops=6,717)

  • Index Cond: ((ord_cancl_yn = 'N'::text) AND (ord_no = (od.ord_no)::text) AND (ord_stat_cd = '0002'::text))
  • Heap Fetches: 0
  • Buffers: shared hit=24149 read=2992
9. 2.239 205.988 ↓ 0.0 0 6,717 / 3

Nested Loop (cost=0.84..1.26 rows=1 width=19) (actual time=0.092..0.092 rows=0 loops=6,717)

  • Buffers: shared hit=19904 read=274
10. 203.749 203.749 ↓ 0.0 0 6,717 / 3

Index Scan using ix_payment_pay_refund_03 on pay_refund r (cost=0.42..0.48 rows=1 width=22) (actual time=0.091..0.091 rows=0 loops=6,717)

  • Index Cond: ((ord_no)::text = (o.ord_no)::text)
  • Filter: ((refund_div_cd)::text = '0002'::text)
  • Buffers: shared hit=19904 read=274
11. 0.000 0.000 ↓ 0.0 0 / 3

Index Scan using pk_payment_pay_refund_dtl on pay_refund_dtl rd (cost=0.42..0.75 rows=2 width=12) (never executed)

  • Index Cond: ((refund_no)::text = (r.refund_no)::text)