explain.depesz.com

PostgreSQL's explain analyze made readable

Result: U3lL

Settings
# exclusive inclusive rows x rows loops node
1. 7,887.867 13,896.936 ↑ 2.9 390,912 1

Nested Loop (cost=443,004.23..3,064,496.21 rows=1,141,830 width=366) (actual time=2,265.753..13,896.936 rows=390,912 loops=1)

  • Join Filter: (source.source_id = signal.source_id)
  • Rows Removed by Join Filter: 40527282
2. 3,765.509 6,009.069 ↑ 1.0 20,459,097 1

Bitmap Heap Scan on signal (cost=443,004.23..1,523,020.38 rows=20,552,943 width=52) (actual time=2,249.792..6,009.069 rows=20,459,097 loops=1)

  • Recheck Cond: (('2018-10-01 00:00:00'::timestamp without time zone <= "timestamp") AND ("timestamp" <= '2019-01-01 00:00:00'::timestamp without time zone))
  • Rows Removed by Index Recheck: 29277
  • Heap Blocks: exact=31134 lossy=184383
3. 2,243.560 2,243.560 ↑ 1.0 20,459,097 1

Bitmap Index Scan on ix_signal_timestamp (cost=0.00..437,866.00 rows=20,552,943 width=0) (actual time=2,243.560..2,243.560 rows=20,459,097 loops=1)

  • Index Cond: (('2018-10-01 00:00:00'::timestamp without time zone <= "timestamp") AND ("timestamp" <= '2019-01-01 00:00:00'::timestamp without time zone))
4. 0.000 0.000 ↑ 2.5 2 20,459,097

Materialize (cost=0.00..5.12 rows=5 width=314) (actual time=0.000..0.000 rows=2 loops=20,459,097)

5. 0.018 0.045 ↑ 2.5 2 1

Nested Loop (cost=0.00..5.09 rows=5 width=314) (actual time=0.032..0.045 rows=2 loops=1)

  • Join Filter: (source.source_type_id = source_type.source_type_id)
  • Rows Removed by Join Filter: 81
6. 0.014 0.014 ↑ 1.0 1 1

Seq Scan on source_type (cost=0.00..1.23 rows=1 width=189) (actual time=0.013..0.014 rows=1 loops=1)

  • Filter: ((name)::text = 'Hach_Flo-Dar'::text)
  • Rows Removed by Filter: 18
7. 0.013 0.013 ↑ 1.0 83 1

Seq Scan on source (cost=0.00..2.83 rows=83 width=125) (actual time=0.005..0.013 rows=83 loops=1)