explain.depesz.com

PostgreSQL's explain analyze made readable

Result: CgF3f

Settings
# exclusive inclusive rows x rows loops node
1. 0.003 0.143 ↑ 32.0 4 1

Append (cost=68.91..801.48 rows=128 width=69) (actual time=0.052..0.143 rows=4 loops=1)

2. 0.001 0.005 ↓ 0.0 0 1

Hash Join (cost=68.91..134.30 rows=3 width=67) (actual time=0.005..0.005 rows=0 loops=1)

  • Hash Cond: (o.id = oc.order_id)
3. 0.002 0.004 ↓ 0.0 0 1

Bitmap Heap Scan on t_order o (cost=4.14..68.79 rows=59 width=39) (actual time=0.004..0.004 rows=0 loops=1)

  • Recheck Cond: ((retired_date IS NULL) AND (actionable_date IS NOT NULL) AND ((status)::text <> ALL ('{CLOSED,SENT,SAVED,AM_REVIEW,
4. 0.002 0.002 ↓ 0.0 0 1

Bitmap Index Scan on idx_priority_report_1 (cost=0.00..4.13 rows=59 width=0) (actual time=0.002..0.002 rows=0 loops=1)

5. 0.000 0.000 ↓ 0.0 0

Hash (cost=64.02..64.02 rows=59 width=8) (never executed)

6. 0.000 0.000 ↓ 0.0 0

Subquery Scan on oc (cost=0.26..64.02 rows=59 width=8) (never executed)

7. 0.000 0.000 ↓ 0.0 0

GroupAggregate (cost=0.26..63.43 rows=59 width=16) (never executed)

  • Group Key: o_1.id
  • Filter: (sum(CASE WHEN (oc_1.id IS NULL) THEN 0 ELSE 1 END) < 1)
8. 0.000 0.000 ↓ 0.0 0

Merge Left Join (cost=0.26..62.55 rows=59 width=16) (never executed)

  • Merge Cond: (o_1.id = oc_1.order_id)
  • -> Index Only Scan using idx_priority_report_1 on t_order o_1 (cost=0.12..54.24 rows=59 width=8) (never execut
  • Heap Fetches: 0
  • -> Index Scan using idx_priority_report_2 on t_orderconcern oc_1 (cost=0.13..8.14 rows=1 width=16) (never exec
9. 0.012 0.047 ↑ 5.0 1 1

Hash Join (cost=33.96..54.22 rows=5 width=68) (actual time=0.046..0.047 rows=1 loops=1)

  • Hash Cond: (o_2.id = oc_2.order_id)
10. 0.003 0.007 ↑ 42.0 1 1

Bitmap Heap Scan on t_order o_2 (cost=4.14..23.88 rows=42 width=40) (actual time=0.007..0.007 rows=1 loops=1)

  • Recheck Cond: ((retired_date IS NULL) AND (actionable_date IS NOT NULL) AND ((status)::text <> ALL ('{CLOSED,SENT,SAVED,AM_REVIEW,
  • Heap Blocks: exact=1
11. 0.004 0.004 ↑ 42.0 1 1

Bitmap Index Scan on idx_priority_report_1 (cost=0.00..4.13 rows=42 width=0) (actual time=0.004..0.004 rows=1 loops=1)

12. 0.005 0.028 ↑ 42.0 1 1

Hash (cost=29.29..29.29 rows=42 width=8) (actual time=0.028..0.028 rows=1 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 9kB
13. 0.001 0.023 ↑ 42.0 1 1

Subquery Scan on oc_2 (cost=28.45..29.29 rows=42 width=8) (actual time=0.022..0.023 rows=1 loops=1)

14. 0.004 0.022 ↑ 42.0 1 1

HashAggregate (cost=28.45..28.87 rows=42 width=16) (actual time=0.022..0.022 rows=1 loops=1)

  • Group Key: o_3.id
  • Filter: (sum(CASE WHEN (oc_3.id IS NULL) THEN 0 ELSE 1 END) < 1)
15. 0.013 0.018 ↑ 42.0 1 1

Hash Left Join (cost=8.34..28.24 rows=42 width=16) (actual time=0.017..0.018 rows=1 loops=1)

  • Hash Cond: (o_3.id = oc_3.order_id)
  • -> Bitmap Heap Scan on t_order o_3 (cost=4.14..23.88 rows=42 width=8) (actual time=0.002..0.002 rows=1 loops=1
  • Recheck Cond: ((retired_date IS NULL) AND (actionable_date IS NOT NULL) AND ((status)::text <> ALL ('{CLOS
  • Heap Blocks: exact=1
  • -> Bitmap Index Scan on idx_priority_report_1 (cost=0.00..4.13 rows=42 width=0) (actual time=0.001..0.00
16. 0.005 0.005 ↓ 0.0 0 1

Hash (cost=4.19..4.19 rows=1 width=16) (actual time=0.005..0.005 rows=0 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 8kB
  • -> Index Scan using idx_priority_report_2 on t_orderconcern oc_3 (cost=0.12..4.19 rows=1 width=16) (actu
17. 0.013 0.086 ↑ 36.7 3 1

Hash Join (cost=288.67..529.36 rows=110 width=69) (actual time=0.081..0.086 rows=3 loops=1)

  • Hash Cond: (o_4.id = oc_4.order_id)
18. 0.008 0.015 ↑ 240.0 3 1

Bitmap Heap Scan on t_order o_4 (cost=8.33..239.92 rows=720 width=41) (actual time=0.011..0.015 rows=3 loops=1)

  • Recheck Cond: ((retired_date IS NULL) AND (actionable_date IS NOT NULL) AND ((status)::text <> ALL ('{CLOSED,SENT,SAVED,AM_REVIEW,
  • Heap Blocks: exact=3
19. 0.007 0.007 ↑ 240.0 3 1

Bitmap Index Scan on idx_priority_report_1 (cost=0.00..8.15 rows=720 width=0) (actual time=0.007..0.007 rows=3 loops=1)

20. 0.005 0.058 ↑ 240.0 3 1

Hash (cost=271.34..271.34 rows=720 width=8) (actual time=0.058..0.058 rows=3 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 9kB
21. 0.002 0.053 ↑ 240.0 3 1

Subquery Scan on oc_4 (cost=256.94..271.34 rows=720 width=8) (actual time=0.050..0.053 rows=3 loops=1)

22. 0.007 0.051 ↑ 240.0 3 1

HashAggregate (cost=256.94..264.14 rows=720 width=16) (actual time=0.049..0.051 rows=3 loops=1)

  • Group Key: o_5.id
  • Filter: (sum(CASE WHEN (oc_5.id IS NULL) THEN 0 ELSE 1 END) < 1)
23. 0.023 0.044 ↑ 240.0 3 1

Hash Left Join (cost=17.23..253.34 rows=720 width=16) (actual time=0.040..0.044 rows=3 loops=1)

  • Hash Cond: (o_5.id = oc_5.order_id)
  • -> Bitmap Heap Scan on t_order o_5 (cost=8.33..239.92 rows=720 width=8) (actual time=0.008..0.010 rows=3 loops
  • Recheck Cond: ((retired_date IS NULL) AND (actionable_date IS NOT NULL) AND ((status)::text <> ALL ('{CLOS
  • Heap Blocks: exact=3
  • -> Bitmap Index Scan on idx_priority_report_1 (cost=0.00..8.15 rows=720 width=0) (actual time=0.006..0.0
24. 0.021 0.021 ↓ 4.0 12 1

Hash (cost=8.87..8.87 rows=3 width=16) (actual time=0.021..0.021 rows=12 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 9kB
  • -> Index Scan using idx_priority_report_2 on t_orderconcern oc_5 (cost=0.14..8.87 rows=3 width=16) (actu
25. 0.001 0.002 ↓ 0.0 0 1

Hash Join (cost=50.95..82.33 rows=10 width=69) (actual time=0.002..0.002 rows=0 loops=1)

  • Hash Cond: (o_6.id = oc_6.order_id)
26. 0.000 0.001 ↓ 0.0 0 1

Bitmap Heap Scan on t_order o_6 (cost=4.15..34.53 rows=79 width=41) (actual time=0.001..0.001 rows=0 loops=1)

  • Recheck Cond: ((retired_date IS NULL) AND (actionable_date IS NOT NULL) AND ((status)::text <> ALL ('{CLOSED,SENT,SAVED,AM_REVIEW,
27. 0.001 0.001 ↓ 0.0 0 1

Bitmap Index Scan on idx_priority_report_1 (cost=0.00..4.13 rows=79 width=0) (actual time=0.001..0.001 rows=0 loops=1)

28. 0.000 0.000 ↓ 0.0 0

Hash (cost=45.81..45.81 rows=79 width=8) (never executed)

29. 0.000 0.000 ↓ 0.0 0

Subquery Scan on oc_6 (cost=44.23..45.81 rows=79 width=8) (never executed)

30. 0.000 0.000 ↓ 0.0 0

HashAggregate (cost=44.23..45.02 rows=79 width=16) (never executed)

  • Group Key: o_7.id
  • Filter: (sum(CASE WHEN (oc_7.id IS NULL) THEN 0 ELSE 1 END) < 1)
31. 0.000 0.000 ↓ 0.0 0

Hash Left Join (cost=13.05..43.83 rows=79 width=16) (never executed)

  • Hash Cond: (o_7.id = oc_7.order_id)
32. 0.000 0.000 ↓ 0.0 0

Bitmap Heap Scan on t_order o_7 (cost=4.15..34.53 rows=79 width=8) (never executed)

  • Recheck Cond: ((retired_date IS NULL) AND (actionable_date IS NOT NULL) AND ((status)::text <> ALL ('{CLOS
33. 0.000 0.000 ↓ 0.0 0

Bitmap Index Scan on idx_priority_report_1 (cost=0.00..4.13 rows=79 width=0) (never executed)

34. 0.000 0.000 ↓ 0.0 0

Hash (cost=8.87..8.87 rows=2 width=16) (never executed)

  • -> Index Scan using idx_priority_report_2 on t_orderconcern oc_7 (cost=0.12..8.87 rows=2 width=16) (neve