explain.depesz.com

PostgreSQL's explain analyze made readable

Result: JAEd

Settings
# exclusive inclusive rows x rows loops node
1. 1,047.580 2,907.267 ↑ 51.0 1 1

GroupAggregate (cost=1,001.12..303,118.82 rows=51 width=88) (actual time=2,907.267..2,907.267 rows=1 loops=1)

  • Group Key: accesses.client_id
2. 0.000 1,859.687 ↓ 5.6 165,841 1

Gather (cost=1,001.12..302,970.11 rows=29,641 width=29) (actual time=29.502..1,859.687 rows=165,841 loops=1)

  • Workers Planned: 2
  • Workers Launched: 2
3. 0.000 2,009.756 ↓ 4.5 55,280 3 / 3

Nested Loop Anti Join (cost=1.12..299,006.01 rows=12,350 width=29) (actual time=25.759..2,009.756 rows=55,280 loops=3)

4. 429.091 429.091 ↓ 8.9 113,602 3 / 3

Parallel Index Scan using accessess_access_at_idx on accesses (cost=0.56..154,057.82 rows=12,733 width=37) (actual time=25.678..429.091 rows=113,602 loops=3)

  • Index Cond: ((accessed_at >= '2020-05-01 00:00:00'::timestamp without time zone) AND (accessed_at < '2020-06-01 00:00:00'::timestamp without time zone))
  • Filter: (client_id = '833f5220-8ba3-11ea-96fe-174f421b1db2'::uuid)
  • Rows Removed by Filter: 662314
5. 1,590.428 1,590.428 ↑ 1.0 1 340,806 / 3

Index Scan using accessess_phone_number_accessed_at_idx on accesses previous_accesses (cost=0.56..11.38 rows=1 width=21) (actual time=0.014..0.014 rows=1 loops=340,806)

  • Index Cond: (((phone_number)::text = (accesses.phone_number)::text) AND (accessed_at < accesses.accessed_at))
  • Filter: (client_id = '833f5220-8ba3-11ea-96fe-174f421b1db2'::uuid)
  • Rows Removed by Filter: 0
Planning time : 0.438 ms
Execution time : 2,907.455 ms