explain.depesz.com

PostgreSQL's explain analyze made readable

Result: yMDG

Settings
# exclusive inclusive rows x rows loops node
1. 0.000 0.000 ↓ 0.0

HashAggregate (cost=119,062.82..119,062.89 rows=6 width=36) (actual rows= loops=)

  • Group Key: GREATEST(tmp_0.date)
2.          

CTE tmp_0

3. 0.000 0.000 ↓ 0.0

GroupAggregate (cost=118,892.61..119,062.67 rows=6 width=12) (actual rows= loops=)

  • Group Key: tn_event.date
4. 0.000 0.000 ↓ 0.0

Sort (cost=118,892.61..118,949.27 rows=22,667 width=24) (actual rows= loops=)

  • Sort Key: tn_event.date
5. 0.000 0.000 ↓ 0.0

Bitmap Heap Scan on tn_event (cost=44,345.85..117,252.84 rows=22,667 width=24) (actual rows= loops=)

  • Recheck Cond: (((tn_event_key)::text = '$AppStart'::text) AND (date >= '2019-07-31'::date) AND (date <= '2020-08-02'::date))
6. 0.000 0.000 ↓ 0.0

BitmapAnd (cost=44,345.85..44,345.85 rows=22,667 width=0) (actual rows= loops=)

7. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on tn_event_key_index1 (cost=0.00..2,766.96 rows=52,604 width=0) (actual rows= loops=)

  • Index Cond: ((tn_event_key)::text = '$AppStart'::text)
8. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on tn_event_key_date_index1 (cost=0.00..41,567.31 rows=997,088 width=0) (actual rows= loops=)

  • Index Cond: ((date >= '2019-07-31'::date) AND (date <= '2020-08-02'::date))
9. 0.000 0.000 ↓ 0.0

CTE Scan on tmp_0 (cost=0.00..0.12 rows=6 width=12) (actual rows= loops=)