explain.depesz.com

PostgreSQL's explain analyze made readable

Result: ogry

Settings
# exclusive inclusive rows x rows loops node
1. 0.002 5.327 ↓ 0.0 0 1

Insert on perf_10t_series (cost=13,598.94..14,221.39 rows=2,232 width=96) (actual time=5.327..5.327 rows=0 loops=1)

2.          

CTE incoming_data

3. 1.085 1.085 ↑ 1.0 4,464 1

Values Scan on "*VALUES*" (cost=0.00..55.80 rows=4,464 width=20) (actual time=0.001..1.085 rows=4,464 loops=1)

4.          

CTE updated_data

5. 0.002 2.345 ↓ 0.0 0 1

Update on perf_10t_series origin_1 (cost=295.23..6,856.79 rows=40 width=115) (actual time=2.345..2.345 rows=0 loops=1)

6. 0.027 2.343 ↓ 0.0 0 1

Hash Join (cost=295.23..6,856.79 rows=40 width=115) (actual time=2.343..2.343 rows=0 loops=1)

  • Hash Cond: (origin_1.start_datetime = incoming_data_1.start_datetime)
7. 0.001 0.040 ↓ 0.0 0 1

Nested Loop (cost=150.15..6,688.71 rows=40 width=100) (actual time=0.040..0.040 rows=0 loops=1)

  • Join Filter: (origin_1.metadata_id = metadata.id)
8. 0.039 0.039 ↓ 0.0 0 1

Seq Scan on generic_metadatas metadata (cost=0.00..2.35 rows=1 width=10) (actual time=0.039..0.039 rows=0 loops=1)

  • Filter: (version_datetime <= '2019-06-01 07:51:56.376102+00'::timestamp with time zone)
  • Rows Removed by Filter: 108
9. 0.000 0.000 ↓ 0.0 0

Bitmap Heap Scan on perf_10t_series origin_1 (cost=150.15..6,631.96 rows=4,352 width=94) (never executed)

  • Recheck Cond: ((key)::text = '2019-06-01 09:51:56.376102 +02:00'::text)
10. 0.000 0.000 ↓ 0.0 0

Bitmap Index Scan on perf_10t_series_key_start_datetime_idx (cost=0.00..149.06 rows=4,352 width=0) (never executed)

  • Index Cond: ((key)::text = '2019-06-01 09:51:56.376102 +02:00'::text)
11. 1.000 2.276 ↑ 1.0 4,464 1

Hash (cost=89.28..89.28 rows=4,464 width=48) (actual time=2.276..2.276 rows=4,464 loops=1)

  • Buckets: 8192 Batches: 1 Memory Usage: 448kB
12. 1.276 1.276 ↑ 1.0 4,464 1

CTE Scan on incoming_data incoming_data_1 (cost=0.00..89.28 rows=4,464 width=48) (actual time=0.006..1.276 rows=4,464 loops=1)

13. 0.791 5.325 ↓ 0.0 0 1

Hash Anti Join (cost=6,686.36..7,308.81 rows=2,232 width=96) (actual time=5.325..5.325 rows=0 loops=1)

  • Hash Cond: (incoming_data.start_datetime = origin.start_datetime)
14. 2.280 2.280 ↑ 1.0 4,464 1

CTE Scan on incoming_data (cost=0.00..89.28 rows=4,464 width=20) (actual time=0.005..2.280 rows=4,464 loops=1)

15. 0.788 2.254 ↓ 1.0 4,464 1

Hash (cost=6,631.96..6,631.96 rows=4,352 width=8) (actual time=2.254..2.254 rows=4,464 loops=1)

  • Buckets: 8192 Batches: 1 Memory Usage: 239kB
16. 0.977 1.466 ↓ 1.0 4,464 1

Bitmap Heap Scan on perf_10t_series origin (cost=150.15..6,631.96 rows=4,352 width=8) (actual time=0.506..1.466 rows=4,464 loops=1)

  • Recheck Cond: ((key)::text = 'B101'::text)
  • Heap Blocks: exact=74
17. 0.489 0.489 ↓ 1.0 4,464 1

Bitmap Index Scan on perf_10t_series_key_start_datetime_idx (cost=0.00..149.06 rows=4,352 width=0) (actual time=0.489..0.489 rows=4,464 loops=1)

  • Index Cond: ((key)::text = 'B101'::text)