explain.depesz.com

PostgreSQL's explain analyze made readable

Result: UpMM

Settings
# exclusive inclusive rows x rows loops node
1. 0.956 1,380.717 ↑ 1.0 1 1

Aggregate (cost=72,157.17..72,157.18 rows=1 width=32) (actual time=1,380.717..1,380.717 rows=1 loops=1)

2. 0.115 1,379.761 ↑ 1.0 50 1

Subquery Scan on tt (cost=51,873.18..72,157.04 rows=50 width=1,467) (actual time=1,361.583..1,379.761 rows=50 loops=1)

3. 0.013 1,379.646 ↑ 1.0 50 1

Limit (cost=51,873.18..72,156.54 rows=50 width=1,711) (actual time=1,361.568..1,379.646 rows=50 loops=1)

4.          

Initplan (for Limit)

5. 0.006 0.006 ↑ 1.0 1 1

Seq Scan on t_object_type ot (cost=0.00..1.10 rows=1 width=4) (actual time=0.005..0.006 rows=1 loops=1)

  • Filter: ((brief)::text = 'ITEM'::text)
  • Rows Removed by Filter: 7
6. 0.011 0.011 ↑ 1.0 1 1

Seq Scan on t_prop p_2 (cost=0.00..1.27 rows=1 width=4) (actual time=0.009..0.011 rows=1 loops=1)

  • Filter: ((brief)::text = 'GEOGRAPHIC_SUBNOTION'::text)
  • Rows Removed by Filter: 21
7. 0.012 0.012 ↑ 1.0 1 1

Seq Scan on t_prop p_3 (cost=0.00..1.27 rows=1 width=4) (actual time=0.010..0.012 rows=1 loops=1)

  • Filter: ((brief)::text = 'GEOGRAPHIC_SUBNOTION'::text)
  • Rows Removed by Filter: 21
8. 11.386 1,379.604 ↑ 4.2 50 1

WindowAgg (cost=51,869.53..136,248.30 rows=208 width=1,711) (actual time=1,361.566..1,379.604 rows=50 loops=1)

9. 6.537 1,350.018 ↓ 41.0 8,534 1

Nested Loop Left Join (cost=51,869.53..51,988.26 rows=208 width=1,443) (actual time=1,296.505..1,350.018 rows=8,534 loops=1)

  • Join Filter: (tse.set_id = tsi.set_id)
  • Rows Removed by Join Filter: 68272
10. 2.565 1,334.947 ↓ 41.0 8,534 1

Merge Left Join (cost=51,869.53..51,962.66 rows=208 width=1,383) (actual time=1,296.493..1,334.947 rows=8,534 loops=1)

  • Merge Cond: (i.item_id = tsi.item_id)
11. 6.911 1,332.342 ↓ 41.0 8,534 1

Nested Loop Left Join (cost=51,867.07..51,959.47 rows=208 width=1,379) (actual time=1,296.464..1,332.342 rows=8,534 loops=1)

12. 3.704 1,308.363 ↓ 41.0 8,534 1

Merge Left Join (cost=51,866.65..51,867.71 rows=208 width=1,359) (actual time=1,296.458..1,308.363 rows=8,534 loops=1)

  • Merge Cond: (i.item_id = p.item_id)
13. 21.169 1,304.641 ↓ 41.0 8,534 1

Sort (cost=51,857.40..51,857.92 rows=208 width=1,327) (actual time=1,296.435..1,304.641 rows=8,534 loops=1)

  • Sort Key: i.item_id DESC
  • Sort Method: external merge Disk: 2824kB
14. 2.974 1,283.472 ↓ 41.0 8,534 1

Hash Join (cost=51,713.14..51,849.39 rows=208 width=1,327) (actual time=1,246.772..1,283.472 rows=8,534 loops=1)

  • Hash Cond: (i.cat_id = c.cat_id)
15. 4.846 1,280.454 ↓ 37.0 8,807 1

Nested Loop (cost=51,711.95..51,847.25 rows=238 width=291) (actual time=1,246.717..1,280.454 rows=8,807 loops=1)

16. 5.664 1,249.187 ↓ 37.0 8,807 1

HashAggregate (cost=51,711.53..51,713.91 rows=238 width=8) (actual time=1,246.682..1,249.187 rows=8,807 loops=1)

  • Group Key: ip.item_id
17. 1.140 1,243.523 ↓ 37.0 8,817 1

Nested Loop (cost=0.43..51,710.93 rows=238 width=8) (actual time=215.018..1,243.523 rows=8,817 loops=1)

18. 1,237.873 1,237.873 ↑ 59.6 11 1

Seq Scan on t_prop_value pv (cost=0.00..34,389.58 rows=656 width=4) (actual time=214.953..1,237.873 rows=11 loops=1)

  • Filter: (((value)::text ~* 'чувашия'::text) AND (prop_id = $14))
  • Rows Removed by Filter: 1114561
19. 4.510 4.510 ↓ 50.1 802 11

Index Scan using ip_pv_idx on t_item_prop ip (cost=0.43..26.24 rows=16 width=12) (actual time=0.012..0.410 rows=802 loops=11)

  • Index Cond: (prop_value_id = pv.prop_value_id)
  • Filter: (prop_id = $13)
20. 26.421 26.421 ↑ 1.0 1 8,807

Index Scan using t_item_pkey on t_item i (cost=0.42..0.56 rows=1 width=291) (actual time=0.003..0.003 rows=1 loops=8,807)

  • Index Cond: (item_id = ip.item_id)
21. 0.004 0.044 ↑ 1.0 7 1

Hash (cost=1.10..1.10 rows=7 width=1,036) (actual time=0.044..0.044 rows=7 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 9kB
22. 0.040 0.040 ↑ 1.0 7 1

Seq Scan on t_cat c (cost=0.00..1.10 rows=7 width=1,036) (actual time=0.038..0.040 rows=7 loops=1)

  • Filter: ((brief)::text <> 'AUTHORS'::text)
  • Rows Removed by Filter: 1
23. 0.010 0.018 ↓ 0.0 0 1

Sort (cost=9.25..9.26 rows=3 width=40) (actual time=0.018..0.018 rows=0 loops=1)

  • Sort Key: p.item_id DESC
  • Sort Method: quicksort Memory: 25kB
24. 0.003 0.008 ↓ 0.0 0 1

Bitmap Heap Scan on t_pline p (cost=6.05..9.22 rows=3 width=40) (actual time=0.007..0.008 rows=0 loops=1)

  • Recheck Cond: (pl_id = 1)
25. 0.005 0.005 ↓ 0.0 0 1

Bitmap Index Scan on t_pline_pline_id_pl_id_key1 (cost=0.00..6.05 rows=3 width=0) (actual time=0.005..0.005 rows=0 loops=1)

  • Index Cond: (pl_id = 1)
26. 17.068 17.068 ↑ 1.0 1 8,534

Index Scan using t_manufacturer_pkey on t_manufacturer m (cost=0.42..0.44 rows=1 width=28) (actual time=0.002..0.002 rows=1 loops=8,534)

  • Index Cond: (i.manufacturer_id = manufacturer_id)
27. 0.026 0.040 ↑ 1.0 40 1

Sort (cost=2.46..2.56 rows=40 width=8) (actual time=0.026..0.040 rows=40 loops=1)

  • Sort Key: tsi.item_id DESC
  • Sort Method: quicksort Memory: 26kB
28. 0.014 0.014 ↑ 1.0 40 1

Seq Scan on t_set_items tsi (cost=0.00..1.40 rows=40 width=8) (actual time=0.009..0.014 rows=40 loops=1)

29. 8.529 8.534 ↑ 1.0 8 8,534

Materialize (cost=0.00..1.12 rows=8 width=68) (actual time=0.000..0.001 rows=8 loops=8,534)

30. 0.005 0.005 ↑ 1.0 8 1

Seq Scan on t_set tse (cost=0.00..1.08 rows=8 width=68) (actual time=0.004..0.005 rows=8 loops=1)

31.          

SubPlan (for WindowAgg)

32. 0.000 0.150 ↑ 1.0 1 50

Aggregate (cost=2.24..2.25 rows=1 width=32) (actual time=0.003..0.003 rows=1 loops=50)

33. 0.050 0.150 ↓ 0.0 0 50

Nested Loop (cost=0.00..2.23 rows=1 width=4) (actual time=0.003..0.003 rows=0 loops=50)

34. 0.100 0.100 ↓ 0.0 0 50

Seq Scan on t_rating_link rl (cost=0.00..1.12 rows=1 width=4) (actual time=0.002..0.002 rows=0 loops=50)

  • Filter: (object_id = i.item_id)
  • Rows Removed by Filter: 10
35. 0.000 0.000 ↓ 0.0 0

Seq Scan on t_object_type ot1 (cost=0.00..1.10 rows=1 width=0) (never executed)

  • Filter: ((brief)::text = 'ITEM'::text)
36. 0.050 0.150 ↑ 1.0 1 50

Aggregate (cost=2.24..2.25 rows=1 width=32) (actual time=0.003..0.003 rows=1 loops=50)

37. 0.050 0.100 ↓ 0.0 0 50

Nested Loop (cost=0.00..2.23 rows=1 width=4) (actual time=0.002..0.002 rows=0 loops=50)

38. 0.050 0.050 ↓ 0.0 0 50

Seq Scan on t_rating_link rl_1 (cost=0.00..1.12 rows=1 width=4) (actual time=0.001..0.001 rows=0 loops=50)

  • Filter: (object_id = i.item_id)
  • Rows Removed by Filter: 10
39. 0.000 0.000 ↓ 0.0 0

Seq Scan on t_object_type ot1_1 (cost=0.00..1.10 rows=1 width=0) (never executed)

  • Filter: ((brief)::text = 'ITEM'::text)
40. 4.905 10.850 ↑ 1.0 1 50

Aggregate (cost=352.54..352.55 rows=1 width=32) (actual time=0.217..0.217 rows=1 loops=50)

41. 0.450 5.550 ↑ 5.4 18 50

Hash Join (cost=70.17..92.83 rows=98 width=709) (actual time=0.105..0.111 rows=18 loops=50)

  • Hash Cond: (pt.prop_type_id = p_1.type)
42. 0.050 0.050 ↑ 141.7 6 50

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

43. 0.350 5.050 ↑ 1.3 18 50

Hash (cost=69.88..69.88 rows=23 width=677) (actual time=0.101..0.101 rows=18 loops=50)

  • Buckets: 1024 Batches: 1 Memory Usage: 10kB
44. 0.083 4.700 ↑ 1.3 18 50

Nested Loop Left Join (cost=3.75..69.88 rows=23 width=677) (actual time=0.026..0.094 rows=18 loops=50)

45. 0.334 1.950 ↑ 1.3 18 50

Hash Join (cost=3.33..9.04 rows=23 width=628) (actual time=0.021..0.039 rows=18 loops=50)

  • Hash Cond: (cp.prop_id = p_1.prop_id)
46. 0.550 1.600 ↑ 1.3 18 50

Hash Right Join (cost=1.83..7.48 rows=23 width=108) (actual time=0.019..0.032 rows=18 loops=50)

  • Hash Cond: (ip_1.prop_id = cp.prop_id)
47. 0.550 0.550 ↑ 1.6 16 50

Index Scan using itm_id_idx on t_item_prop ip_1 (cost=0.43..5.75 rows=26 width=108) (actual time=0.006..0.011 rows=16 loops=50)

  • Index Cond: (item_id = i.item_id)
48. 0.150 0.500 ↑ 1.2 13 50

Hash (cost=1.20..1.20 rows=16 width=4) (actual time=0.010..0.010 rows=13 loops=50)

  • Buckets: 1024 Batches: 1 Memory Usage: 9kB
49. 0.350 0.350 ↑ 1.2 13 50

Seq Scan on t_cat_prop cp (cost=0.00..1.20 rows=16 width=4) (actual time=0.003..0.007 rows=13 loops=50)

  • Filter: (cat_id = i.cat_id)
  • Rows Removed by Filter: 44
50. 0.007 0.016 ↑ 1.0 22 1

Hash (cost=1.22..1.22 rows=22 width=524) (actual time=0.016..0.016 rows=22 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 10kB
51. 0.009 0.009 ↑ 1.0 22 1

Seq Scan on t_prop p_1 (cost=0.00..1.22 rows=22 width=524) (actual time=0.005..0.009 rows=22 loops=1)

52. 2.667 2.667 ↑ 1.0 1 889

Index Scan using t_prop_value_pkey on t_prop_value pv_1 (cost=0.43..2.65 rows=1 width=53) (actual time=0.003..0.003 rows=1 loops=889)

  • Index Cond: (prop_value_id = ip_1.prop_value_id)
53.          

SubPlan (for Aggregate)

54. 0.395 0.395 ↑ 1.0 1 79

Index Scan using t_item_pkey on t_item ti1 (cost=0.42..2.64 rows=1 width=59) (actual time=0.005..0.005 rows=1 loops=79)

  • Index Cond: (item_id = ip_1.object_id)
55. 0.000 5.850 ↑ 1.0 1 50

Aggregate (cost=29.24..29.25 rows=1 width=32) (actual time=0.117..0.117 rows=1 loops=50)

56. 0.100 5.850 ↓ 0.0 0 50

Nested Loop (cost=0.28..29.24 rows=1 width=100) (actual time=0.117..0.117 rows=0 loops=50)

57. 0.050 5.750 ↓ 0.0 0 50

Nested Loop (cost=0.00..26.74 rows=1 width=24) (actual time=0.115..0.115 rows=0 loops=50)

  • Join Filter: (fl.object_type_id = ot_1.object_type_id)
58. 0.100 0.100 ↑ 1.0 1 50

Seq Scan on t_object_type ot_1 (cost=0.00..1.10 rows=1 width=4) (actual time=0.001..0.002 rows=1 loops=50)

  • Filter: ((brief)::text = 'ITEM'::text)
  • Rows Removed by Filter: 7
59. 5.600 5.600 ↓ 0.0 0 50

Seq Scan on t_file_link fl (cost=0.00..25.60 rows=3 width=24) (actual time=0.112..0.112 rows=0 loops=50)

  • Filter: (object_id = i.item_id)
  • Rows Removed by Filter: 1163
60. 0.000 0.000 ↓ 0.0 0

Index Scan using t_file_pkey on t_file f (cost=0.28..2.50 rows=1 width=80) (never executed)

  • Index Cond: (file_id = fl.file_id)
  • Filter: (NOT deleted)
61. 0.050 0.450 ↑ 1.0 1 50

Aggregate (cost=11.64..11.65 rows=1 width=32) (actual time=0.009..0.009 rows=1 loops=50)

62. 0.000 0.400 ↓ 0.0 0 50

Subquery Scan on affiliates (cost=11.48..11.62 rows=7 width=72) (actual time=0.008..0.008 rows=0 loops=50)

63. 0.050 0.400 ↓ 0.0 0 50

Unique (cost=11.48..11.55 rows=7 width=48) (actual time=0.008..0.008 rows=0 loops=50)

64. 0.150 0.350 ↓ 0.0 0 50

Sort (cost=11.48..11.50 rows=7 width=48) (actual time=0.007..0.007 rows=0 loops=50)

  • Sort Key: tt_1.subject_id, ts.name, ts.subject_id
  • Sort Method: quicksort Memory: 25kB
65. 0.050 0.200 ↓ 0.0 0 50

Merge Left Join (cost=0.93..11.38 rows=7 width=48) (actual time=0.004..0.004 rows=0 loops=50)

  • Merge Cond: (tt_1.subject_id = ts.subject_id)
66. 0.150 0.150 ↓ 0.0 0 50

Index Only Scan using t_tran_item_id_idx on t_tran tt_1 (cost=0.42..9.35 rows=7 width=4) (actual time=0.003..0.003 rows=0 loops=50)

  • Index Cond: (item_id = i.item_id)
  • Heap Fetches: 0
67. 0.000 0.000 ↓ 0.0 0

Index Scan using t_subject_pkey on t_subject ts (cost=0.14..5.64 rows=79 width=44) (never executed)

68. 0.100 0.750 ↑ 1.0 1 50

Aggregate (cost=7.11..7.12 rows=1 width=32) (actual time=0.015..0.015 rows=1 loops=50)

69.          

Initplan (for Aggregate)

70. 0.000 0.000 ↓ 0.0 0

Seq Scan on t_object_type ot1_2 (cost=0.00..1.10 rows=1 width=4) (never executed)

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

Seq Scan on t_link_type tlt (cost=0.00..1.06 rows=1 width=8) (never executed)

  • Filter: ((brief)::text = 'TAG'::text)
72. 0.094 0.650 ↓ 0.0 0 50

Hash Semi Join (cost=2.83..4.94 rows=1 width=20) (actual time=0.013..0.013 rows=0 loops=50)

  • Hash Cond: (tt_2.tag_id = ttl.tag_id)
73. 0.006 0.006 ↑ 87.0 1 1

Seq Scan on t_tag tt_2 (cost=0.00..1.87 rows=87 width=28) (actual time=0.006..0.006 rows=1 loops=1)

74. 0.050 0.550 ↓ 0.0 0 50

Hash (cost=2.82..2.82 rows=1 width=8) (actual time=0.011..0.011 rows=0 loops=50)

  • Buckets: 1024 Batches: 1 Memory Usage: 8kB
75. 0.500 0.500 ↓ 0.0 0 50

Seq Scan on t_tag_link ttl (cost=0.00..2.82 rows=1 width=8) (actual time=0.010..0.010 rows=0 loops=50)

  • Filter: ((object_id = i.item_id) AND (object_type_id = $10) AND (link_type_id = $11))
  • Rows Removed by Filter: 104
Planning time : 5.244 ms
Execution time : 1,382.734 ms