explain.depesz.com

PostgreSQL's explain analyze made readable

Result: OYq2

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

Aggregate (cost=485,747.58..485,747.59 rows=1 width=32) (actual rows= loops=)

2. 0.000 0.000 ↓ 0.0

Subquery Scan on tt (cost=0.29..485,747.08 rows=200 width=450) (actual rows= loops=)

3. 0.000 0.000 ↓ 0.0

Limit (cost=0.29..485,745.08 rows=200 width=498) (actual rows= loops=)

4. 0.000 0.000 ↓ 0.0

WindowAgg (cost=0.29..1,831,258.15 rows=754 width=498) (actual rows= loops=)

5. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.29..3,857.67 rows=754 width=422) (actual rows= loops=)

6. 0.000 0.000 ↓ 0.0

Seq Scan on t_item_link ti (cost=0.00..735.70 rows=754 width=12) (actual rows= loops=)

  • Filter: (object_id = 30947)
7. 0.000 0.000 ↓ 0.0

Index Scan using t_item_pkey on t_item i (cost=0.29..4.14 rows=1 width=418) (actual rows= loops=)

  • Index Cond: (item_id = ti.item_id)
8.          

SubPlan (forWindowAgg)

9. 0.000 0.000 ↓ 0.0

Aggregate (cost=1,116.64..1,116.65 rows=1 width=32) (actual rows= loops=)

10. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.28..1,100.01 rows=2 width=698) (actual rows= loops=)

  • Join Filter: (p.type = pt.prop_type_id)
11. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=0.28..1,070.88 rows=1 width=666) (actual rows= loops=)

12. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=0.00..1,062.58 rows=1 width=628) (actual rows= loops=)

  • Join Filter: (ip.prop_id = cp.prop_id)
13. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.00..2.14 rows=1 width=528) (actual rows= loops=)

  • Join Filter: (p.prop_id = cp.prop_id)
14. 0.000 0.000 ↓ 0.0

Seq Scan on t_cat_prop cp (cost=0.00..1.07 rows=1 width=4) (actual rows= loops=)

  • Filter: (cat_id = i.cat_id)
15. 0.000 0.000 ↓ 0.0

Seq Scan on t_prop p (cost=0.00..1.03 rows=3 width=524) (actual rows= loops=)

16. 0.000 0.000 ↓ 0.0

Seq Scan on t_item_prop ip (cost=0.00..1,060.41 rows=2 width=108) (actual rows= loops=)

  • Filter: (item_id = i.item_id)
17. 0.000 0.000 ↓ 0.0

Index Scan using t_prop_value_pkey on t_prop_value pv (cost=0.28..8.30 rows=1 width=42) (actual rows= loops=)

  • Index Cond: (prop_value_id = ip.prop_value_id)
18. 0.000 0.000 ↓ 0.0

Seq Scan on t_prop_type pt (cost=0.00..18.50 rows=850 width=36) (actual rows= loops=)

19.          

SubPlan (forAggregate)

20. 0.000 0.000 ↓ 0.0

Index Scan using t_item_pkey on t_item ti1 (cost=0.29..8.30 rows=1 width=66) (actual rows= loops=)

  • Index Cond: (item_id = ip.object_id)
21. 0.000 0.000 ↓ 0.0

Aggregate (cost=1,306.94..1,306.95 rows=1 width=32) (actual rows= loops=)

22. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.29..1,306.93 rows=1 width=111) (actual rows= loops=)

23. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.00..1,298.63 rows=1 width=24) (actual rows= loops=)

  • Join Filter: (fl.object_type_id = ot.object_type_id)
24. 0.000 0.000 ↓ 0.0

Seq Scan on t_object_type ot (cost=0.00..1.11 rows=1 width=4) (actual rows= loops=)

  • Filter: ((brief)::text = 'ITEM'::text)
25. 0.000 0.000 ↓ 0.0

Seq Scan on t_file_link fl (cost=0.00..1,297.43 rows=7 width=24) (actual rows= loops=)

  • Filter: (object_id = i.item_id)
26. 0.000 0.000 ↓ 0.0

Index Scan using t_file_pkey on t_file f (cost=0.29..8.31 rows=1 width=91) (actual rows= loops=)

  • Index Cond: (file_id = fl.file_id)
  • Filter: (NOT deleted)