explain.depesz.com

PostgreSQL's explain analyze made readable

Result: X7Tu

Settings
# exclusive inclusive rows x rows loops node
1. 815.086 4,429.315 ↑ 1.0 1 1

Aggregate (cost=1,042,303.78..1,042,303.79 rows=1 width=32) (actual time=4,429.301..4,429.315 rows=1 loops=1)

  • Functions: 119
  • Options: Inlining true, Optimization true, Expressions true, Deforming true
  • Timing: Generation 7.643 ms, Inlining 57.990 ms, Optimization 256.048 ms, Emission 209.445 ms, Total 531.126 ms
2. 0.008 3,560.544 ↑ 1.0 1 1

Nested Loop Left Join (cost=1,042,302.72..1,042,303.76 rows=1 width=32) (actual time=3,560.523..3,560.544 rows=1 loops=1)

3. 524.516 524.516 ↑ 1.0 1 1

Seq Scan on vendor (cost=0.00..1.01 rows=1 width=4) (actual time=524.510..524.516 rows=1 loops=1)

  • Filter: (id = 1)
  • Rows Removed by Filter: 3
4. 213.896 3,036.020 ↑ 1.0 1 1

Aggregate (cost=1,042,302.72..1,042,302.73 rows=1 width=32) (actual time=3,036.008..3,036.020 rows=1 loops=1)

5. 27.052 2,822.124 ↓ 1.3 15,624 1

Nested Loop Left Join (cost=90.19..1,042,157.94 rows=11,582 width=40) (actual time=0.400..2,822.124 rows=15,624 loops=1)

6. 1.708 14.000 ↓ 1.3 15,624 1

Custom Scan (ChunkAppend) on cost_end_time (cost=0.28..370.52 rows=11,582 width=12) (actual time=0.043..14.000 rows=15,624 loops=1)

  • Order: cost_end_time.end_time
  • Chunks excluded during runtime: 0
7. 6.079 6.079 ↑ 1.0 7,552 1

Index Scan Backward using _hyper_84_149_chunk_cost_end_time_end_time_idx on _hyper_84_149_chunk (cost=0.28..231.62 rows=7,552 width=12) (actual time=0.021..6.079 rows=7,552 loops=1)

  • Index Cond: (end_time >= '2020-10-01 04:47:15'::timestamp without time zone)
  • Filter: (vendor.id = vendor_id)
8. 6.213 6.213 ↓ 2.0 8,072 1

Index Only Scan using "147_304_cost_end_time_pkey" on _hyper_84_147_chunk (cost=0.28..138.90 rows=4,030 width=12) (actual time=0.035..6.213 rows=8,072 loops=1)

  • Index Cond: ((vendor_id = vendor.id) AND (end_time >= '2020-10-01 04:47:15'::timestamp without time zone))
  • Heap Fetches: 8,072
9. 78.120 2,765.448 ↑ 1.0 1 15,624

Aggregate (cost=89.91..89.92 rows=1 width=32) (actual time=0.177..0.177 rows=1 loops=15,624)

10. 46.872 2,687.328 ↓ 2.0 2 15,624

Nested Loop Left Join (cost=65.97..89.89 rows=1 width=44) (actual time=0.107..0.172 rows=2 loops=15,624)

11. 46.872 1,140.552 ↓ 2.0 2 15,624

Nested Loop (cost=0.15..24.03 rows=1 width=16) (actual time=0.054..0.073 rows=2 loops=15,624)

12. 31.248 31.248 ↓ 4.0 4 15,624

Seq Scan on node _2__be_0_node (cost=0.00..10.34 rows=1 width=4) (actual time=0.001..0.002 rows=4 loops=15,624)

  • Filter: (provider = ANY ('{amazon}'::text[]))
  • Rows Removed by Filter: 2
13. 937.440 1,062.432 ↓ 0.0 0 62,496

Custom Scan (ChunkAppend) on node_cost (cost=0.15..13.65 rows=5 width=16) (actual time=0.017..0.017 rows=0 loops=62,496)

  • Chunks excluded during runtime: 4
14. 0.000 0.000 ↓ 0.0 0

Index Scan using _hyper_4_2_chunk_node_cost_vendor_id_end_time_idx on _hyper_4_2_chunk (cost=0.15..2.37 rows=1 width=16) (never executed)

  • Index Cond: ((vendor_id = cost_end_time.vendor_id) AND (end_time = cost_end_time.end_time))
  • Filter: (_2__be_0_node.id = node_id)
15. 0.000 0.000 ↓ 0.0 0

Index Scan using _hyper_4_15_chunk_node_cost_vendor_id_end_time_idx on _hyper_4_15_chunk (cost=0.15..2.37 rows=1 width=16) (never executed)

  • Index Cond: ((vendor_id = cost_end_time.vendor_id) AND (end_time = cost_end_time.end_time))
  • Filter: (_2__be_0_node.id = node_id)
16. 0.000 0.000 ↓ 0.0 0

Index Scan using _hyper_4_19_chunk_node_cost_vendor_id_end_time_idx on _hyper_4_19_chunk (cost=0.41..3.14 rows=1 width=16) (never executed)

  • Index Cond: ((vendor_id = cost_end_time.vendor_id) AND (end_time = cost_end_time.end_time))
  • Filter: (_2__be_0_node.id = node_id)
17. 60.416 60.416 ↓ 0.0 0 30,208

Index Scan using _hyper_4_37_chunk_node_cost_vendor_id_end_time_idx on _hyper_4_37_chunk (cost=0.41..3.14 rows=1 width=16) (actual time=0.002..0.002 rows=0 loops=30,208)

  • Index Cond: ((vendor_id = cost_end_time.vendor_id) AND (end_time = cost_end_time.end_time))
  • Filter: (_2__be_0_node.id = node_id)
  • Rows Removed by Filter: 2
18. 64.576 64.576 ↓ 0.0 0 32,288

Index Scan using _hyper_4_72_chunk_node_cost_vendor_id_end_time_idx on _hyper_4_72_chunk (cost=0.41..2.63 rows=1 width=16) (actual time=0.002..0.002 rows=0 loops=32,288)

  • Index Cond: ((vendor_id = cost_end_time.vendor_id) AND (end_time = cost_end_time.end_time))
  • Filter: (_2__be_0_node.id = node_id)
  • Rows Removed by Filter: 2
19. 749.952 1,499.904 ↑ 1.0 1 31,248

Aggregate (cost=65.83..65.84 rows=1 width=32) (actual time=0.048..0.048 rows=1 loops=31,248)

20. 436.432 749.952 ↑ 2.7 11 31,248

Custom Scan (ChunkAppend) on pod_cost (cost=0.15..65.37 rows=30 width=44) (actual time=0.016..0.024 rows=11 loops=31,248)

  • Chunks excluded during runtime: 4
21. 0.000 0.000 ↓ 0.0 0

Index Scan using _hyper_5_3_chunk_pod_cost_pod_id_end_time_idx on _hyper_5_3_chunk (cost=0.15..4.46 rows=1 width=44) (never executed)

  • Index Cond: (end_time = node_cost.end_time)
  • Filter: (node_cost.node_id = node_id)
22. 0.000 0.000 ↓ 0.0 0

Index Scan using _hyper_5_16_chunk_pod_cost_pod_id_end_time_idx on _hyper_5_16_chunk (cost=0.15..4.46 rows=1 width=44) (never executed)

  • Index Cond: (end_time = node_cost.end_time)
  • Filter: (node_cost.node_id = node_id)
23. 0.000 0.000 ↓ 0.0 0

Index Scan using _hyper_5_20_chunk_pod_cost_end_time_idx on _hyper_5_20_chunk (cost=0.42..18.12 rows=11 width=44) (never executed)

  • Index Cond: (end_time = node_cost.end_time)
  • Filter: (node_cost.node_id = node_id)
24. 135.936 135.936 ↑ 1.0 11 15,104

Index Scan using _hyper_5_38_chunk_pod_cost_end_time_idx on _hyper_5_38_chunk (cost=0.42..22.61 rows=11 width=44) (actual time=0.003..0.009 rows=11 loops=15,104)

  • Index Cond: (end_time = node_cost.end_time)
  • Filter: (node_cost.node_id = node_id)
  • Rows Removed by Filter: 11
25. 177.584 177.584 ↓ 1.8 11 16,144

Index Scan using _hyper_5_73_chunk_pod_cost_end_time_idx on _hyper_5_73_chunk (cost=0.42..15.72 rows=6 width=44) (actual time=0.003..0.011 rows=11 loops=16,144)

  • Index Cond: (end_time = node_cost.end_time)
  • Filter: (node_cost.node_id = node_id)
  • Rows Removed by Filter: 11
26.          

SubPlan (for Aggregate)

27. 0.000 0.000 ↑ 1.0 1 343,813

Result (cost=0.00..0.01 rows=1 width=32) (actual time=0.000..0.000 rows=1 loops=343,813)

28.          

SubPlan (for Aggregate)

29. 0.000 0.000 ↑ 1.0 1 31,248

Result (cost=0.00..0.01 rows=1 width=32) (actual time=0.000..0.000 rows=1 loops=31,248)

30.          

SubPlan (for Nested Loop Left Join)

31. 15.624 15.624 ↑ 1.0 1 15,624

Result (cost=0.00..0.01 rows=1 width=32) (actual time=0.000..0.001 rows=1 loops=15,624)

32.          

SubPlan (for Aggregate)

33. 53.685 53.685 ↑ 1.0 1 1

Result (cost=0.00..0.01 rows=1 width=32) (actual time=50.510..53.685 rows=1 loops=1)

Planning time : 6.952 ms
Execution time : 4,511.547 ms