explain.depesz.com

PostgreSQL's explain analyze made readable

Result: toYit

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

Limit (cost=78,942.91..78,942.92 rows=1 width=1,660) (actual rows= loops=)

2. 0.000 0.000 ↓ 0.0

Sort (cost=78,942.91..78,942.92 rows=1 width=1,660) (actual rows= loops=)

  • Sort Key: selectprod0_.changestamp DESC NULLS LAST, selectprod0_.id
3. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=6.02..78,942.90 rows=1 width=1,660) (actual rows= loops=)

4. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=5.73..78,941.52 rows=1 width=1,661) (actual rows= loops=)

  • Join Filter: (point6_.id = pointkladr7_.owner_id)
5. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=5.73..78,837.13 rows=1 width=1,548) (actual rows= loops=)

  • Join Filter: (selectprod0_4_.point_id = point6_.id)
6. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=5.73..78,710.81 rows=1 width=1,502) (actual rows= loops=)

7. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=5.44..78,708.32 rows=1 width=1,451) (actual rows= loops=)

8. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=5.15..78,706.94 rows=1 width=1,451) (actual rows= loops=)

9. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=4.72..78,704.30 rows=1 width=310) (actual rows= loops=)

10. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=4.15..78,702.26 rows=1 width=309) (actual rows= loops=)

  • Join Filter: (company2_.partner_id = partner3_.id)
11. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=4.15..78,700.76 rows=1 width=237) (actual rows= loops=)

  • Join Filter: (selectprod0_4_.company_id = company2_.id)
12. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=4.15..78,694.88 rows=1 width=192) (actual rows= loops=)

  • Join Filter: (bankinfo1_.id = bankinfo1_1_.owner_id)
13. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=4.15..78,691.47 rows=1 width=174) (actual rows= loops=)

14. 0.000 0.000 ↓ 0.0

Nested Loop (cost=3.58..78,689.42 rows=1 width=173) (actual rows= loops=)

  • Join Filter: (selectprod0_.id = selectprod0_9_.owner_id)
15. 0.000 0.000 ↓ 0.0

Nested Loop (cost=3.15..78,687.88 rows=1 width=209) (actual rows= loops=)

  • Join Filter: (selectprod0_.id = selectprod0_5_.owner_id)
16. 0.000 0.000 ↓ 0.0

Nested Loop (cost=2.72..78,685.22 rows=1 width=185) (actual rows= loops=)

  • Join Filter: (selectprod0_.id = selectprod0_1_.owner_id)
17. 0.000 0.000 ↓ 0.0

Nested Loop (cost=2.29..78,682.57 rows=1 width=105) (actual rows= loops=)

  • Join Filter: (selectprod0_.id = selectprod0_4_.owner_id)
18. 0.000 0.000 ↓ 0.0

Nested Loop (cost=1.86..78,669.40 rows=5 width=45) (actual rows= loops=)

  • Join Filter: (selectprod0_.id = selectprod0_2_.owner_id)
19. 0.000 0.000 ↓ 0.0

Nested Loop (cost=1.43..78,614.35 rows=35 width=39) (actual rows= loops=)

  • Join Filter: (selectprod0_.id = selectprod0_6_.owner_id)
20. 0.000 0.000 ↓ 0.0

Nested Loop (cost=1.00..77,405.46 rows=783 width=33) (actual rows= loops=)

21. 0.000 0.000 ↓ 0.0

Index Scan using test_idx_ups_doc__module__type__createstamp on ups_doc selectprod0_ (cost=0.57..33,805.49 rows=17,836 width=27) (actual rows= loops=)

  • Index Cond: (((doc_module)::text = 'mc'::text) AND ((doc_type)::text = 'select_product'::text) AND (createstamp >= '2019-11-30 00:00:00'::timestamp without time zone) AND (createstamp <= '2019-12-03 23:59:59'::timestamp without time zone))
  • Filter: (((doc_status)::text <> 'delete'::text) AND (isarchive = '0'::numeric) AND (istemplate = '0'::numeric))
22. 0.000 0.000 ↓ 0.0

Index Only Scan using pk_mc_doc_cl_ownership on mc_doc_cl_ownership selectprod0_3_ (cost=0.43..2.43 rows=1 width=6) (actual rows= loops=)

  • Index Cond: (owner_id = selectprod0_.id)
23. 0.000 0.000 ↓ 0.0

Index Only Scan using pk_mc_doc_employment on mc_doc_employment selectprod0_6_ (cost=0.43..1.53 rows=1 width=6) (actual rows= loops=)

  • Index Cond: (owner_id = selectprod0_3_.owner_id)
24. 0.000 0.000 ↓ 0.0

Index Only Scan using pk_mc_dic on mc_dic selectprod0_2_ (cost=0.43..1.56 rows=1 width=6) (actual rows= loops=)

  • Index Cond: (owner_id = selectprod0_6_.owner_id)
25. 0.000 0.000 ↓ 0.0

Index Scan using pk_mc_doc_product on mc_doc_product selectprod0_4_ (cost=0.43..2.62 rows=1 width=60) (actual rows= loops=)

  • Index Cond: (owner_id = selectprod0_2_.owner_id)
26. 0.000 0.000 ↓ 0.0

Index Scan using pk_mc_usr_fl_client on mc_usr_fl_client selectprod0_1_ (cost=0.43..2.64 rows=1 width=80) (actual rows= loops=)

  • Index Cond: (owner_id = selectprod0_2_.owner_id)
27. 0.000 0.000 ↓ 0.0

Index Scan using pk_mc_doc_product_prm on mc_doc_product_prm selectprod0_5_ (cost=0.43..2.65 rows=1 width=24) (actual rows= loops=)

  • Index Cond: (owner_id = selectprod0_2_.owner_id)
28. 0.000 0.000 ↓ 0.0

Index Only Scan using pk_mc_usr_fl_find on mc_usr_fl_find selectprod0_9_ (cost=0.43..1.53 rows=1 width=6) (actual rows= loops=)

  • Index Cond: (owner_id = selectprod0_2_.owner_id)
29. 0.000 0.000 ↓ 0.0

Index Only Scan using pk_ups_doc on ups_doc bankinfo1_ (cost=0.57..2.03 rows=1 width=7) (actual rows= loops=)

  • Index Cond: (id = selectprod0_5_.integration_id)
30. 0.000 0.000 ↓ 0.0

Seq Scan on ups_doc_title bankinfo1_1_ (cost=0.00..2.63 rows=63 width=31) (actual rows= loops=)

31. 0.000 0.000 ↓ 0.0

Seq Scan on mc_customer company2_ (cost=0.00..5.39 rows=39 width=51) (actual rows= loops=)

32. 0.000 0.000 ↓ 0.0

Seq Scan on mc_partner_info partner3_ (cost=0.00..1.22 rows=22 width=79) (actual rows= loops=)

33. 0.000 0.000 ↓ 0.0

Index Only Scan using pk_ups_doc on ups_doc offer4_ (cost=0.57..2.03 rows=1 width=7) (actual rows= loops=)

  • Index Cond: (id = selectprod0_5_.offer_id)
34. 0.000 0.000 ↓ 0.0

Index Scan using pk_mc_doc_offer on mc_doc_offer offer4_1_ (cost=0.43..2.63 rows=1 width=1,154) (actual rows= loops=)

  • Index Cond: (offer4_.id = owner_id)
35. 0.000 0.000 ↓ 0.0

Index Only Scan using pk_mc_usr_user on mc_usr_user operatorpr5_ (cost=0.29..1.37 rows=1 width=6) (actual rows= loops=)

  • Index Cond: (id = selectprod0_4_.client_id)
36. 0.000 0.000 ↓ 0.0

Index Scan using pk_ups_doc_subject on ups_doc_subject operatorpr5_2_ (cost=0.29..2.48 rows=1 width=57) (actual rows= loops=)

  • Index Cond: (operatorpr5_.id = owner_id)
37. 0.000 0.000 ↓ 0.0

Seq Scan on mc_point point6_ (cost=0.00..103.92 rows=1,792 width=52) (actual rows= loops=)

38. 0.000 0.000 ↓ 0.0

Seq Scan on kladr_addr pointkladr7_ (cost=0.00..81.95 rows=1,795 width=119) (actual rows= loops=)

39. 0.000 0.000 ↓ 0.0

Index Only Scan using pk_mc_usr_user on mc_usr_user operatorpr8_ (cost=0.29..1.37 rows=1 width=6) (actual rows= loops=)

  • Index Cond: (id = selectprod0_4_.processed_by_operator_id)