explain.depesz.com

PostgreSQL's explain analyze made readable

Result: EyIQ

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

Hash Join (cost=1,414.03..4,392,164.67 rows=1,533 width=516) (actual rows= loops=)

  • Hash Cond: (uta.product_id = prod.id)
2. 0.000 0.000 ↓ 0.0

Hash Join (cost=1,411.67..2,204.43 rows=1,533 width=193) (actual rows= loops=)

  • Hash Cond: (up.user_id = uta.user_id)
3. 0.000 0.000 ↓ 0.0

Seq Scan on user_property_value_flat up (cost=0.00..738.83 rows=9,883 width=24) (actual rows= loops=)

4. 0.000 0.000 ↓ 0.0

Hash (cost=1,390.58..1,390.58 rows=1,687 width=177) (actual rows= loops=)

5. 0.000 0.000 ↓ 0.0

Hash Join (cost=910.34..1,390.58 rows=1,687 width=177) (actual rows= loops=)

  • Hash Cond: (au.user_id = uta.user_id)
6. 0.000 0.000 ↓ 0.0

Seq Scan on account_users au (cost=0.00..427.54 rows=9,554 width=16) (actual rows= loops=)

7. 0.000 0.000 ↓ 0.0

Hash (cost=890.46..890.46 rows=1,591 width=161) (actual rows= loops=)

8. 0.000 0.000 ↓ 0.0

Hash Join (cost=403.08..890.46 rows=1,591 width=161) (actual rows= loops=)

  • Hash Cond: (usr.id = uta.user_id)
9. 0.000 0.000 ↓ 0.0

Seq Scan on users usr (cost=0.00..436.57 rows=9,305 width=30) (actual rows= loops=)

  • Filter: (NOT testuser)
10. 0.000 0.000 ↓ 0.0

Hash (cost=382.02..382.02 rows=1,685 width=131) (actual rows= loops=)

11. 0.000 0.000 ↓ 0.0

Seq Scan on user_to_access uta (cost=0.00..382.02 rows=1,685 width=131) (actual rows= loops=)

  • Filter: activated
12. 0.000 0.000 ↓ 0.0

Hash (cost=2.16..2.16 rows=16 width=27) (actual rows= loops=)

13. 0.000 0.000 ↓ 0.0

Seq Scan on product prod (cost=0.00..2.16 rows=16 width=27) (actual rows= loops=)

14.          

SubPlan (forHash Join)

15. 0.000 0.000 ↓ 0.0

Limit (cost=8.70..8.71 rows=1 width=13) (actual rows= loops=)

16. 0.000 0.000 ↓ 0.0

Sort (cost=8.70..8.71 rows=1 width=13) (actual rows= loops=)

  • Sort Key: uad.validfrom DESC
17. 0.000 0.000 ↓ 0.0

Index Scan using idx_user_address_user_id on user_address uad (cost=0.29..8.69 rows=1 width=13) (actual rows= loops=)

  • Index Cond: (userid = uta.user_id)
  • Filter: ((deleted)::text = 'N'::text)
18. 0.000 0.000 ↓ 0.0

Limit (cost=8.70..8.71 rows=1 width=11) (actual rows= loops=)

19. 0.000 0.000 ↓ 0.0

Sort (cost=8.70..8.71 rows=1 width=11) (actual rows= loops=)

  • Sort Key: uad_1.validfrom DESC
20. 0.000 0.000 ↓ 0.0

Index Scan using idx_user_address_user_id on user_address uad_1 (cost=0.29..8.69 rows=1 width=11) (actual rows= loops=)

  • Index Cond: (userid = uta.user_id)
  • Filter: ((deleted)::text = 'N'::text)
21. 0.000 0.000 ↓ 0.0

Limit (cost=0.42..405.52 rows=1 width=17) (actual rows= loops=)

22. 0.000 0.000 ↓ 0.0

Index Scan Backward using idx_service_requests_reqts on service_requests sr (cost=0.42..56,714.09 rows=140 width=17) (actual rows= loops=)

  • Filter: (userid = uta.user_id)
23. 0.000 0.000 ↓ 0.0

Limit (cost=0.42..405.52 rows=1 width=17) (actual rows= loops=)

24. 0.000 0.000 ↓ 0.0

Index Scan Backward using idx_service_requests_reqts on service_requests sr_1 (cost=0.42..56,714.09 rows=140 width=17) (actual rows= loops=)

  • Filter: (userid = uta.user_id)
25. 0.000 0.000 ↓ 0.0

Limit (cost=0.42..405.52 rows=1 width=17) (actual rows= loops=)

26. 0.000 0.000 ↓ 0.0

Index Scan Backward using idx_service_requests_reqts on service_requests sr_2 (cost=0.42..56,714.09 rows=140 width=17) (actual rows= loops=)

  • Filter: (userid = uta.user_id)
27. 0.000 0.000 ↓ 0.0

Limit (cost=0.42..405.52 rows=1 width=17) (actual rows= loops=)

28. 0.000 0.000 ↓ 0.0

Index Scan Backward using idx_service_requests_reqts on service_requests sr_3 (cost=0.42..56,714.09 rows=140 width=17) (actual rows= loops=)

  • Filter: (userid = uta.user_id)
29. 0.000 0.000 ↓ 0.0

Aggregate (cost=560.42..560.43 rows=1 width=8) (actual rows= loops=)

30. 0.000 0.000 ↓ 0.0

Bitmap Heap Scan on usage_snapshot usnap (cost=5.56..560.29 rows=50 width=0) (actual rows= loops=)

  • Recheck Cond: (userid = uta.user_id)
  • Filter: (usagedate < date(uta.effective_from))
31. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on idx_usage_snapshot_user_id (cost=0.00..5.55 rows=150 width=0) (actual rows= loops=)

  • Index Cond: (userid = uta.user_id)
32. 0.000 0.000 ↓ 0.0

Aggregate (cost=38.82..38.83 rows=1 width=8) (actual rows= loops=)

33. 0.000 0.000 ↓ 0.0

Bitmap Heap Scan on usage_state us (cost=4.36..38.82 rows=2 width=0) (actual rows= loops=)

  • Recheck Cond: (accountid = au.account_id)
  • Filter: ((subcyclestart < uta.effective_from) AND ("productCode" <> 'guest'::text))
34. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on idx_usage_state_account_id (cost=0.00..4.36 rows=9 width=0) (actual rows= loops=)

  • Index Cond: (accountid = au.account_id)
35. 0.000 0.000 ↓ 0.0

Aggregate (cost=38.80..38.81 rows=1 width=8) (actual rows= loops=)

36. 0.000 0.000 ↓ 0.0

Bitmap Heap Scan on usage_state us_1 (cost=4.36..38.79 rows=3 width=0) (actual rows= loops=)

  • Recheck Cond: (accountid = au.account_id)
  • Filter: (subcyclestart >= uta.effective_to)
37. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on idx_usage_state_account_id (cost=0.00..4.36 rows=9 width=0) (actual rows= loops=)

  • Index Cond: (accountid = au.account_id)
38. 0.000 0.000 ↓ 0.0

Limit (cost=0.29..8.30 rows=1 width=13) (actual rows= loops=)

39. 0.000 0.000 ↓ 0.0

Index Scan using idx_user_phone_user_id on user_phone uph (cost=0.29..8.30 rows=1 width=13) (actual rows= loops=)

  • Index Cond: (user_id = up.user_id)
40. 0.000 0.000 ↓ 0.0

Limit (cost=8.31..8.32 rows=1 width=14) (actual rows= loops=)

41. 0.000 0.000 ↓ 0.0

Sort (cost=8.31..8.32 rows=1 width=14) (actual rows= loops=)

  • Sort Key: leads.created_date DESC
42. 0.000 0.000 ↓ 0.0

Index Scan using idx_leads_account_id on leads (cost=0.29..8.30 rows=1 width=14) (actual rows= loops=)

  • Index Cond: (account_id = au.account_id)
43. 0.000 0.000 ↓ 0.0

Limit (cost=8.31..8.32 rows=1 width=22) (actual rows= loops=)

44. 0.000 0.000 ↓ 0.0

Sort (cost=8.31..8.32 rows=1 width=22) (actual rows= loops=)

  • Sort Key: leads_1.created_date DESC
45. 0.000 0.000 ↓ 0.0

Index Scan using idx_leads_account_id on leads leads_1 (cost=0.29..8.30 rows=1 width=22) (actual rows= loops=)

  • Index Cond: (account_id = au.account_id)
46. 0.000 0.000 ↓ 0.0

Aggregate (cost=561.03..561.04 rows=1 width=8) (actual rows= loops=)

47. 0.000 0.000 ↓ 0.0

Bitmap Heap Scan on usage_snapshot us_2 (cost=5.55..561.03 rows=1 width=8) (actual rows= loops=)

  • Recheck Cond: (userid = usr.id)
  • Filter: ((usagedate >= date(uta.effective_from)) AND (usagedate <= date(uta.effective_to)))
48. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on idx_usage_snapshot_user_id (cost=0.00..5.55 rows=150 width=0) (actual rows= loops=)

  • Index Cond: (userid = usr.id)