explain.depesz.com

PostgreSQL's explain analyze made readable

Result: rxbK

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

Aggregate (cost=38,027.97..38,027.98 rows=1 width=8) (actual rows= loops=)

2. 0.000 0.000 ↓ 0.0

Nested Loop (cost=32,963.74..38,027.61 rows=143 width=4) (actual rows= loops=)

3. 0.000 0.000 ↓ 0.0

Nested Loop (cost=32,963.32..37,931.83 rows=182 width=8) (actual rows= loops=)

4. 0.000 0.000 ↓ 0.0

Hash Join (cost=32,962.90..36,415.71 rows=182 width=8) (actual rows= loops=)

  • Hash Cond: (dp.account_id = aty.account_id)
5. 0.000 0.000 ↓ 0.0

Seq Scan on data_portal dp (cost=32,344.90..35,797.14 rows=214 width=8) (actual rows= loops=)

  • Filter: ((created > '2019-05-31 00:00:00'::timestamp without time zone) AND (created < '2019-07-01 00:00:00'::timestamp without time zone) AND (NOT (hashed SubPlan 1)))
6.          

SubPlan (forSeq Scan)

7. 0.000 0.000 ↓ 0.0

Gather (cost=1,618.85..32,328.71 rows=6,473 width=4) (actual rows= loops=)

  • Workers Planned: 1
8. 0.000 0.000 ↓ 0.0

Nested Loop (cost=618.85..30,681.41 rows=3,808 width=4) (actual rows= loops=)

9. 0.000 0.000 ↓ 0.0

Nested Loop (cost=618.42..28,129.58 rows=4,849 width=8) (actual rows= loops=)

10. 0.000 0.000 ↓ 0.0

Hash Join (cost=618.00..3,689.92 rows=4,849 width=8) (actual rows= loops=)

  • Hash Cond: (dp_1.account_id = aty_1.account_id)
11. 0.000 0.000 ↓ 0.0

Parallel Seq Scan on data_portal dp_1 (cost=0.00..3,056.97 rows=5,693 width=8) (actual rows= loops=)

  • Filter: ((created > '2018-12-31 00:00:00'::timestamp without time zone) AND (created < '2019-06-01 00:00:00'::timestamp without time zone))
12. 0.000 0.000 ↓ 0.0

Hash (cost=406.40..406.40 rows=16,928 width=8) (actual rows= loops=)

13. 0.000 0.000 ↓ 0.0

Seq Scan on accounts_types aty_1 (cost=0.00..406.40 rows=16,928 width=8) (actual rows= loops=)

  • Filter: (account_type_id = 4)
14. 0.000 0.000 ↓ 0.0

Index Scan using accounts_users_pkey on accounts_users au_1 (cost=0.42..5.04 rows=1 width=8) (actual rows= loops=)

  • Index Cond: (id = dp_1.accounts_user_id)
15. 0.000 0.000 ↓ 0.0

Index Scan using users_pkey on users u_1 (cost=0.42..0.53 rows=1 width=4) (actual rows= loops=)

  • Index Cond: (id = au_1.user_id)
  • Filter: ((email)::text !~~ '%jooraccess.%'::text)
16. 0.000 0.000 ↓ 0.0

Hash (cost=406.40..406.40 rows=16,928 width=8) (actual rows= loops=)

17. 0.000 0.000 ↓ 0.0

Seq Scan on accounts_types aty (cost=0.00..406.40 rows=16,928 width=8) (actual rows= loops=)

  • Filter: (account_type_id = 4)
18. 0.000 0.000 ↓ 0.0

Index Scan using accounts_users_pkey on accounts_users au (cost=0.42..8.33 rows=1 width=8) (actual rows= loops=)

  • Index Cond: (id = dp.accounts_user_id)
19. 0.000 0.000 ↓ 0.0

Index Scan using users_pkey on users u (cost=0.42..0.53 rows=1 width=4) (actual rows= loops=)

  • Index Cond: (id = au.user_id)
  • Filter: ((email)::text !~~ '%jooraccess.%'::text)