explain.depesz.com

PostgreSQL's explain analyze made readable

Result: Tla6

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

Append (cost=1,001.56..4,745,502.88 rows=528 width=299) (actual rows= loops=)

2. 0.000 0.000 ↓ 0.0

Gather (cost=1,001.56..3,931,425.98 rows=438 width=294) (actual rows= loops=)

  • Workers Planned: 2
3. 0.000 0.000 ↓ 0.0

Nested Loop (cost=1.56..10,134.36 rows=182 width=191) (actual rows= loops=)

4. 0.000 0.000 ↓ 0.0

Nested Loop (cost=1.28..10,079.00 rows=182 width=161) (actual rows= loops=)

5. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.85..8,586.89 rows=182 width=125) (actual rows= loops=)

6. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.57..7,874.10 rows=182 width=96) (actual rows= loops=)

7. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.29..7,161.30 rows=182 width=67) (actual rows= loops=)

8. 0.000 0.000 ↓ 0.0

Parallel Seq Scan on billinglog (cost=0.00..6,422.67 rows=182 width=36) (actual rows= loops=)

  • Filter: (CASE WHEN (exportid IS NOT NULL) THEN true ELSE false END AND (entitytypeid = 1) AND (exportid = '3443'::bigint))
9. 0.000 0.000 ↓ 0.0

Index Scan using pk_user on "user" (cost=0.29..4.06 rows=1 width=35) (actual rows= loops=)

  • Index Cond: (id = billinglog.userid)
10. 0.000 0.000 ↓ 0.0

Index Scan using ix_organisation_id_emailenabled on organisation userorg (cost=0.28..3.92 rows=1 width=33) (actual rows= loops=)

  • Index Cond: (id = billinglog.userorgid)
11. 0.000 0.000 ↓ 0.0

Index Scan using ix_organisation_id_emailenabled on organisation topparentorg (cost=0.28..3.92 rows=1 width=33) (actual rows= loops=)

  • Index Cond: (id = billinglog.topparentorgid)
12. 0.000 0.000 ↓ 0.0

Index Scan using pk_request on roadworkrequest (cost=0.43..8.20 rows=1 width=40) (actual rows= loops=)

  • Index Cond: (id = billinglog.entityid)
13. 0.000 0.000 ↓ 0.0

Index Scan using ix_organisation_id_emailenabled on organisation roadworkpsmorg (cost=0.28..0.30 rows=1 width=34) (actual rows= loops=)

  • Index Cond: (id = roadworkrequest.roadworkrequestpsmorganisationid)
14.          

SubPlan (for Gather)

15. 0.000 0.000 ↓ 0.0

Limit (cost=0.00..8,950.34 rows=1 width=8) (actual rows= loops=)

16. 0.000 0.000 ↓ 0.0

Seq Scan on billinglog bl (cost=0.00..8,950.34 rows=1 width=8) (actual rows= loops=)

  • Filter: (entityid = billinglog.entityid)
17. 0.000 0.000 ↓ 0.0

Gather (cost=1,001.55..814,071.61 rows=90 width=324) (actual rows= loops=)

  • Workers Planned: 2
18. 0.000 0.000 ↓ 0.0

Nested Loop (cost=1.55..7,532.24 rows=38 width=189) (actual rows= loops=)

19. 0.000 0.000 ↓ 0.0

Nested Loop (cost=1.27..7,519.85 rows=38 width=159) (actual rows= loops=)

20. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.99..7,343.70 rows=38 width=130) (actual rows= loops=)

21. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.71..7,167.55 rows=38 width=101) (actual rows= loops=)

22. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.42..6,939.24 rows=38 width=70) (actual rows= loops=)

23. 0.000 0.000 ↓ 0.0

Parallel Seq Scan on billinglog billinglog_1 (cost=0.00..6,422.67 rows=65 width=36) (actual rows= loops=)

  • Filter: (CASE WHEN (exportid IS NOT NULL) THEN true ELSE false END AND (entitytypeid = 2) AND (exportid = '3443'::bigint))
24. 0.000 0.000 ↓ 0.0

Index Scan using pk_permit on permit (cost=0.42..7.95 rows=1 width=38) (actual rows= loops=)

  • Index Cond: (id = billinglog_1.entityid)
25. 0.000 0.000 ↓ 0.0

Index Scan using pk_user on "user" user_1 (cost=0.29..6.01 rows=1 width=35) (actual rows= loops=)

  • Index Cond: (id = billinglog_1.userid)
26. 0.000 0.000 ↓ 0.0

Index Scan using ix_organisation_id_emailenabled on organisation userorg_1 (cost=0.28..4.64 rows=1 width=33) (actual rows= loops=)

  • Index Cond: (id = billinglog_1.userorgid)
27. 0.000 0.000 ↓ 0.0

Index Scan using ix_organisation_id_emailenabled on organisation topparentorg_1 (cost=0.28..4.64 rows=1 width=33) (actual rows= loops=)

  • Index Cond: (id = billinglog_1.topparentorgid)
28. 0.000 0.000 ↓ 0.0

Index Scan using ix_organisation_id_emailenabled on organisation permitpsmorg (cost=0.28..0.33 rows=1 width=34) (actual rows= loops=)

  • Index Cond: (id = permit.permitpublicspacemanagerid)
29.          

SubPlan (for Gather)

30. 0.000 0.000 ↓ 0.0

Limit (cost=0.00..8,950.34 rows=1 width=8) (actual rows= loops=)

  • -> Seq Scan on billinglog bl_1 (cost=0.00..8950.34 rows=1 width=8)" Filter: (entityid = billinglog_1.entityid)