explain.depesz.com

PostgreSQL's explain analyze made readable

Result: xF1w

Settings
# exclusive inclusive rows x rows loops node
1. 1,279.376 4,485.678 ↑ 72.9 5,571 1

HashAggregate (cost=933,971.47..942,098.73 rows=406,363 width=64) (actual time=4,479.512..4,485.678 rows=5,571 loops=1)

  • Group Key: td.id_segment, td.id_newsletter, td.id_panel, td.insert_num, td.id_ad, td.id_campaign, CASE WHEN (("substring"((td.user_hash)::text, 1, 1) >= '0'::text) AND ("substring"((td.user_hash)::text, 1, 1) <= '3'::text)) THEN 'b'::text ELSE 'a'::text END
  • Buffers: shared hit=80310
2. 1,986.746 3,206.302 ↑ 1.0 3,121,031 1

Result (cost=68,175.41..871,385.45 rows=3,129,301 width=64) (actual time=218.430..3,206.302 rows=3,121,031 loops=1)

  • Buffers: shared hit=80310
3. 229.696 1,219.556 ↑ 1.0 3,121,031 1

Append (cost=68,175.41..808,799.43 rows=3,129,301 width=97) (actual time=218.421..1,219.556 rows=3,121,031 loops=1)

  • Buffers: shared hit=80310
4. 781.985 989.860 ↑ 1.0 3,121,031 1

Bitmap Heap Scan on tracking_display_201907 td (cost=68,175.41..808,799.43 rows=3,129,301 width=97) (actual time=218.420..989.860 rows=3,121,031 loops=1)

  • Recheck Cond: ((date >= '2019-07-10'::date) AND (date <= '2019-07-11'::date) AND (date >= '2019-07-09 07:15:48'::timestamp without time zone) AND (date < '2019-07-11 00:00:00'::timestamp without time zone))
  • Heap Blocks: exact=60040
  • Buffers: shared hit=80310
5. 207.875 207.875 ↑ 1.0 3,121,031 1

Bitmap Index Scan on idx_tracking_display_date_201907 (cost=0.00..67,393.08 rows=3,129,301 width=0) (actual time=207.875..207.875 rows=3,121,031 loops=1)

  • Index Cond: ((date >= '2019-07-10'::date) AND (date <= '2019-07-11'::date) AND (date >= '2019-07-09 07:15:48'::timestamp without time zone) AND (date < '2019-07-11 00:00:00'::timestamp without time zone))
  • Buffers: shared hit=20270
Planning time : 0.632 ms
Execution time : 4,494.438 ms