explain.depesz.com

PostgreSQL's explain analyze made readable

Result: 27M8

Settings
# exclusive inclusive rows x rows loops node
1. 0.075 2.197 ↑ 1.0 11 1

Nested Loop Left Join (cost=51.16..143.55 rows=11 width=16,528) (actual time=0.765..2.197 rows=11 loops=1)

2. 0.071 2.056 ↓ 11.0 11 1

Nested Loop Left Join (cost=46.47..127.73 rows=1 width=14,936) (actual time=0.722..2.056 rows=11 loops=1)

  • Join Filter: ("quotationCurrencyLocales"."currencyId" = "quotationCurrency".id)
  • Rows Removed by Join Filter: 32
3. 0.055 1.963 ↓ 11.0 11 1

Nested Loop Left Join (cost=46.47..114.80 rows=1 width=14,380) (actual time=0.704..1.963 rows=11 loops=1)

4. 0.060 1.897 ↓ 11.0 11 1

Nested Loop Left Join (cost=46.35..114.05 rows=1 width=10,732) (actual time=0.688..1.897 rows=11 loops=1)

5. 0.064 1.815 ↓ 11.0 11 1

Nested Loop Left Join (cost=46.22..113.45 rows=1 width=10,504) (actual time=0.670..1.815 rows=11 loops=1)

6. 0.061 1.729 ↓ 11.0 11 1

Nested Loop Left Join (cost=46.09..113.04 rows=1 width=10,341) (actual time=0.647..1.729 rows=11 loops=1)

7. 0.057 1.646 ↓ 11.0 11 1

Nested Loop Left Join (cost=45.95..112.60 rows=1 width=10,180) (actual time=0.625..1.646 rows=11 loops=1)

8. 0.050 1.567 ↓ 11.0 11 1

Nested Loop Left Join (cost=45.81..111.33 rows=1 width=9,544) (actual time=0.607..1.567 rows=11 loops=1)

9. 0.062 1.462 ↓ 11.0 11 1

Nested Loop Left Join (cost=45.53..108.37 rows=1 width=8,775) (actual time=0.590..1.462 rows=11 loops=1)

  • Join Filter: ("parentItemCategoryLocales"."itemCategoryId" = "parentItemCategory".id)
  • Rows Removed by Join Filter: 61
10. 0.060 1.367 ↓ 11.0 11 1

Nested Loop Left Join (cost=45.53..107.26 rows=1 width=8,725) (actual time=0.577..1.367 rows=11 loops=1)

  • Join Filter: ("parentItemCategory".id = "parentItem"."itemCategoryId")
  • Rows Removed by Join Filter: 52
11. 0.069 1.252 ↓ 11.0 11 1

Nested Loop Left Join (cost=45.53..106.17 rows=1 width=8,579) (actual time=0.561..1.252 rows=11 loops=1)

12. 0.055 1.040 ↓ 11.0 11 1

Nested Loop Left Join (cost=42.27..91.27 rows=1 width=7,891) (actual time=0.515..1.040 rows=11 loops=1)

13. 0.044 0.919 ↓ 11.0 11 1

Nested Loop Left Join (cost=41.99..88.57 rows=1 width=7,812) (actual time=0.490..0.919 rows=11 loops=1)

14. 0.046 0.854 ↓ 7.0 7 1

Nested Loop Left Join (cost=41.85..87.74 rows=1 width=7,808) (actual time=0.471..0.854 rows=7 loops=1)

15. 0.032 0.752 ↓ 7.0 7 1

Nested Loop Left Join (cost=38.59..73.58 rows=1 width=6,641) (actual time=0.428..0.752 rows=7 loops=1)

  • Join Filter: ("parentItemVatLocales"."vatId" = "parentItemVat".id)
16. 0.028 0.720 ↓ 7.0 7 1

Nested Loop Left Join (cost=38.59..62.46 rows=1 width=5,053) (actual time=0.422..0.720 rows=7 loops=1)

17. 0.023 0.594 ↓ 7.0 7 1

Nested Loop Left Join (cost=38.03..56.26 rows=1 width=4,676) (actual time=0.373..0.594 rows=7 loops=1)

18. 0.027 0.557 ↓ 7.0 7 1

Nested Loop Left Join (cost=37.88..54.99 rows=1 width=4,040) (actual time=0.364..0.557 rows=7 loops=1)

  • Join Filter: ("itemCategoryLocales"."itemCategoryId" = "itemCategory".id)
  • Rows Removed by Join Filter: 36
19. 0.029 0.509 ↓ 7.0 7 1

Nested Loop Left Join (cost=37.88..53.88 rows=1 width=3,990) (actual time=0.354..0.509 rows=7 loops=1)

  • Join Filter: ("itemCategory".id = item."itemCategoryId")
  • Rows Removed by Join Filter: 23
20. 0.018 0.452 ↓ 7.0 7 1

Nested Loop Left Join (cost=37.88..52.79 rows=1 width=3,844) (actual time=0.341..0.452 rows=7 loops=1)

21. 0.017 0.371 ↓ 7.0 7 1

Nested Loop Left Join (cost=37.60..50.10 rows=1 width=3,765) (actual time=0.332..0.371 rows=7 loops=1)

22. 0.040 0.333 ↓ 3.0 3 1

Hash Right Join (cost=37.47..49.26 rows=1 width=3,761) (actual time=0.317..0.333 rows=3 loops=1)

  • Hash Cond: ("itemCurrencyLocales"."currencyId" = "itemCurrency".id)
23. 0.004 0.004 ↑ 43.3 3 1

Seq Scan on currency_locale "itemCurrencyLocales" (cost=0.00..11.30 rows=130 width=556) (actual time=0.004..0.004 rows=3 loops=1)

24. 0.010 0.289 ↓ 3.0 3 1

Hash (cost=37.45..37.45 rows=1 width=3,205) (actual time=0.288..0.289 rows=3 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 9kB
25. 0.008 0.279 ↓ 3.0 3 1

Nested Loop Left Join (cost=9.80..37.45 rows=1 width=3,205) (actual time=0.202..0.279 rows=3 loops=1)

26. 0.006 0.256 ↓ 3.0 3 1

Nested Loop Left Join (cost=9.65..34.20 rows=1 width=3,073) (actual time=0.185..0.256 rows=3 loops=1)

27. 0.027 0.115 ↓ 3.0 3 1

Hash Join (cost=3.00..5.77 rows=1 width=59) (actual time=0.087..0.115 rows=3 loops=1)

  • Hash Cond: (pait.id = "filterJoin".id)
28. 0.036 0.036 ↓ 1.0 57 1

Seq Scan on quotation_tree pait (cost=0.00..2.55 rows=55 width=59) (actual time=0.016..0.036 rows=57 loops=1)

29. 0.006 0.052 ↓ 3.0 3 1

Hash (cost=2.99..2.99 rows=1 width=4) (actual time=0.052..0.052 rows=3 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 9kB
30. 0.002 0.046 ↓ 3.0 3 1

Subquery Scan on filterJoin (cost=2.97..2.99 rows=1 width=4) (actual time=0.045..0.046 rows=3 loops=1)

31. 0.018 0.044 ↓ 3.0 3 1

Sort (cost=2.97..2.98 rows=1 width=8) (actual time=0.044..0.044 rows=3 loops=1)

  • Sort Key: spait.lft
  • Sort Method: quicksort Memory: 25kB
32. 0.026 0.026 ↓ 3.0 3 1

Seq Scan on quotation_tree spait (cost=0.00..2.96 rows=1 width=8) (actual time=0.007..0.026 rows=3 loops=1)

  • Filter: (("deletedAt" IS NULL) AND (lft >= 1) AND (rgt <= 6) AND ((grp)::text = '80'::text))
  • Rows Removed by Filter: 54
33. 0.010 0.135 ↑ 1.0 1 3

Nested Loop Left Join (cost=6.65..28.42 rows=1 width=3,014) (actual time=0.041..0.045 rows=1 loops=3)

34. 0.010 0.075 ↑ 1.0 1 3

Nested Loop Left Join (cost=3.39..14.27 rows=1 width=1,847) (actual time=0.024..0.025 rows=1 loops=3)

35. 0.021 0.021 ↑ 1.0 1 3

Index Scan using "UQ_07c9e6dfb6b56bb671757be3a4c" on quotation_item item (cost=0.14..0.37 rows=1 width=227) (actual time=0.007..0.007 rows=1 loops=3)

  • Index Cond: ("quotationTreeId" = pait.id)
36. 0.028 0.044 ↑ 1.0 1 2

Hash Right Join (cost=3.26..13.89 rows=1 width=1,620) (actual time=0.021..0.022 rows=1 loops=2)

  • Hash Cond: ("itemVatLocales"."vatId" = "itemVat".id)
37. 0.002 0.002 ↓ 0.0 0 2

Seq Scan on vat_locale "itemVatLocales" (cost=0.00..10.50 rows=50 width=1,588) (actual time=0.001..0.001 rows=0 loops=2)

38. 0.004 0.014 ↑ 1.0 1 2

Hash (cost=3.25..3.25 rows=1 width=32) (actual time=0.007..0.007 rows=1 loops=2)

  • Buckets: 1024 Batches: 1 Memory Usage: 9kB
39. 0.010 0.010 ↑ 1.0 1 2

Index Scan using "PK_78a7504ba84d527a3cb7dd28297" on vat "itemVat" (cost=0.15..3.25 rows=1 width=32) (actual time=0.004..0.005 rows=1 loops=2)

  • Index Cond: (id = item."vatId")
40. 0.026 0.050 ↑ 1.0 1 2

Hash Right Join (cost=3.26..14.14 rows=1 width=1,167) (actual time=0.022..0.025 rows=1 loops=2)

  • Hash Cond: ("itemUnitTypeLocales"."unitTypeId" = "itemUnitType".id)
41. 0.006 0.006 ↑ 17.5 4 2

Seq Scan on unit_type_locale "itemUnitTypeLocales" (cost=0.00..10.70 rows=70 width=1,130) (actual time=0.003..0.003 rows=4 loops=2)

42. 0.006 0.018 ↑ 1.0 1 2

Hash (cost=3.25..3.25 rows=1 width=37) (actual time=0.009..0.009 rows=1 loops=2)

  • Buckets: 1024 Batches: 1 Memory Usage: 9kB
43. 0.012 0.012 ↑ 1.0 1 2

Index Scan using "PK_e883871bf594e4890e06e7ee27e" on unit_type "itemUnitType" (cost=0.15..3.25 rows=1 width=37) (actual time=0.006..0.006 rows=1 loops=2)

  • Index Cond: (id = item."unitTypeId")
44. 0.015 0.015 ↑ 1.0 1 3

Index Scan using "PK_3cda65c731a6264f0e444cc9b91" on currency "itemCurrency" (cost=0.15..3.24 rows=1 width=132) (actual time=0.005..0.005 rows=1 loops=3)

  • Index Cond: (id = item."currencyId")
45. 0.021 0.021 ↑ 1.5 2 3

Index Only Scan using "PK_45e6dd7fbb5566b4a6d08658e5e" on quotation_item_attributes_attribite_value "item_itemAttributes" (cost=0.13..0.80 rows=3 width=8) (actual time=0.006..0.007 rows=2 loops=3)

  • Index Cond: ("quotationItemId" = item.id)
  • Heap Fetches: 5
46. 0.012 0.063 ↑ 1.0 1 7

Nested Loop Left Join (cost=0.29..2.69 rows=1 width=83) (actual time=0.008..0.009 rows=1 loops=7)

47. 0.021 0.021 ↑ 1.0 1 7

Index Scan using "PK_b3c44d7aec3433fa921ec72e323" on attribite_value "itemAttributes" (cost=0.14..2.45 rows=1 width=54) (actual time=0.002..0.003 rows=1 loops=7)

  • Index Cond: (id = "item_itemAttributes"."attribiteValueId")
48. 0.030 0.030 ↑ 1.0 1 5

Index Scan using "PK_b01a399aef5e6a4d4aabe4a6e83" on attribite_field "itemAttributesField" (cost=0.14..0.23 rows=1 width=29) (actual time=0.006..0.006 rows=1 loops=5)

  • Index Cond: (id = "itemAttributes"."fieldId")
49. 0.028 0.028 ↑ 1.0 4 7

Seq Scan on item_category "itemCategory" (cost=0.00..1.04 rows=4 width=146) (actual time=0.003..0.004 rows=4 loops=7)

50. 0.021 0.021 ↓ 1.2 6 7

Seq Scan on item_category_locale "itemCategoryLocales" (cost=0.00..1.05 rows=5 width=50) (actual time=0.002..0.003 rows=6 loops=7)

51. 0.014 0.014 ↑ 1.0 1 7

Index Scan using "PK_ed133b6c81724af85a3af6ed919" on attribite_rule "itemAttributesFieldRule" (cost=0.14..1.25 rows=1 width=636) (actual time=0.002..0.002 rows=1 loops=7)

  • Index Cond: (id = "itemAttributesField"."ruleId")
52. 0.015 0.098 ↑ 1.0 1 7

Nested Loop Left Join (cost=0.57..6.19 rows=1 width=377) (actual time=0.012..0.014 rows=1 loops=7)

53. 0.035 0.035 ↑ 1.0 1 7

Index Scan using "PK_9355a72837e164ab845e5a7d7af" on quotation_tree "itemQuotationTree" (cost=0.14..1.39 rows=1 width=59) (actual time=0.004..0.005 rows=1 loops=7)

  • Index Cond: (id = item."quotationTreeId")
54. 0.006 0.048 ↓ 0.0 0 6

Nested Loop Left Join (cost=0.43..4.79 rows=1 width=318) (actual time=0.007..0.008 rows=0 loops=6)

55. 0.024 0.024 ↓ 0.0 0 6

Index Scan using "PK_9355a72837e164ab845e5a7d7af" on quotation_tree parent (cost=0.14..0.45 rows=1 width=59) (actual time=0.003..0.004 rows=0 loops=6)

  • Index Cond: (id = "itemQuotationTree"."parentId")
  • Filter: (("outerType")::text = 'item'::text)
  • Rows Removed by Filter: 1
56. 0.004 0.018 ↑ 1.0 1 1

Nested Loop Left Join (cost=0.29..4.33 rows=1 width=259) (actual time=0.016..0.018 rows=1 loops=1)

57. 0.009 0.009 ↑ 1.0 1 1

Index Scan using "UQ_07c9e6dfb6b56bb671757be3a4c" on quotation_item "parentItem" (cost=0.14..1.08 rows=1 width=227) (actual time=0.007..0.009 rows=1 loops=1)

  • Index Cond: ("quotationTreeId" = parent.id)
58. 0.005 0.005 ↑ 1.0 1 1

Index Scan using "PK_78a7504ba84d527a3cb7dd28297" on vat "parentItemVat" (cost=0.15..3.25 rows=1 width=32) (actual time=0.005..0.005 rows=1 loops=1)

  • Index Cond: (id = "parentItem"."vatId")
59. 0.000 0.000 ↓ 0.0 0 7

Seq Scan on vat_locale "parentItemVatLocales" (cost=0.00..10.50 rows=50 width=1,588) (actual time=0.000..0.000 rows=0 loops=7)

60. 0.031 0.056 ↓ 0.0 0 7

Hash Right Join (cost=3.26..14.14 rows=1 width=1,167) (actual time=0.007..0.008 rows=0 loops=7)

  • Hash Cond: ("parentItemUnitTypeLocales"."unitTypeId" = "parentItemUnitType".id)
61. 0.004 0.004 ↑ 17.5 4 1

Seq Scan on unit_type_locale "parentItemUnitTypeLocales" (cost=0.00..10.70 rows=70 width=1,130) (actual time=0.002..0.004 rows=4 loops=1)

62. 0.007 0.021 ↓ 0.0 0 7

Hash (cost=3.25..3.25 rows=1 width=37) (actual time=0.003..0.003 rows=0 loops=7)

  • Buckets: 1024 Batches: 1 Memory Usage: 8kB
63. 0.014 0.014 ↓ 0.0 0 7

Index Scan using "PK_e883871bf594e4890e06e7ee27e" on unit_type "parentItemUnitType" (cost=0.15..3.25 rows=1 width=37) (actual time=0.002..0.002 rows=0 loops=7)

  • Index Cond: (id = "parentItem"."unitTypeId")
64. 0.021 0.021 ↑ 3.0 1 7

Index Only Scan using "PK_45e6dd7fbb5566b4a6d08658e5e" on quotation_item_attributes_attribite_value "parentItem_parentItemAttributes" (cost=0.13..0.80 rows=3 width=8) (actual time=0.002..0.003 rows=1 loops=7)

  • Index Cond: ("quotationItemId" = "parentItem".id)
  • Heap Fetches: 5
65. 0.013 0.066 ↓ 0.0 0 11

Nested Loop Left Join (cost=0.29..2.69 rows=1 width=83) (actual time=0.006..0.006 rows=0 loops=11)

66. 0.033 0.033 ↓ 0.0 0 11

Index Scan using "PK_b3c44d7aec3433fa921ec72e323" on attribite_value "parentItemAttributes" (cost=0.14..2.45 rows=1 width=54) (actual time=0.002..0.003 rows=0 loops=11)

  • Index Cond: (id = "parentItem_parentItemAttributes"."attribiteValueId")
67. 0.020 0.020 ↑ 1.0 1 5

Index Scan using "PK_b01a399aef5e6a4d4aabe4a6e83" on attribite_field "parentItemAttributesField" (cost=0.14..0.23 rows=1 width=29) (actual time=0.004..0.004 rows=1 loops=5)

  • Index Cond: (id = "parentItemAttributes"."fieldId")
68. 0.089 0.143 ↓ 0.0 0 11

Hash Right Join (cost=3.25..14.90 rows=1 width=688) (actual time=0.009..0.013 rows=0 loops=11)

  • Hash Cond: ("parentItemCurrencyLocales"."currencyId" = "parentItemCurrency".id)
69. 0.010 0.010 ↑ 43.3 3 5

Seq Scan on currency_locale "parentItemCurrencyLocales" (cost=0.00..11.30 rows=130 width=556) (actual time=0.001..0.002 rows=3 loops=5)

70. 0.022 0.044 ↓ 0.0 0 11

Hash (cost=3.24..3.24 rows=1 width=132) (actual time=0.004..0.004 rows=0 loops=11)

  • Buckets: 1024 Batches: 1 Memory Usage: 8kB
71. 0.022 0.022 ↓ 0.0 0 11

Index Scan using "PK_3cda65c731a6264f0e444cc9b91" on currency "parentItemCurrency" (cost=0.15..3.24 rows=1 width=132) (actual time=0.002..0.002 rows=0 loops=11)

  • Index Cond: (id = "parentItem"."currencyId")
72. 0.055 0.055 ↓ 1.2 5 11

Seq Scan on item_category "parentItemCategory" (cost=0.00..1.04 rows=4 width=146) (actual time=0.003..0.005 rows=5 loops=11)

73. 0.033 0.033 ↓ 1.2 6 11

Seq Scan on item_category_locale "parentItemCategoryLocales" (cost=0.00..1.05 rows=5 width=50) (actual time=0.002..0.003 rows=6 loops=11)

74. 0.008 0.055 ↓ 0.0 0 11

Nested Loop Left Join (cost=0.29..2.95 rows=1 width=769) (actual time=0.005..0.005 rows=0 loops=11)

75. 0.033 0.033 ↓ 0.0 0 11

Index Scan using "UQ_c60b196a364a0ef749f812a358e" on quotation (cost=0.14..0.37 rows=1 width=637) (actual time=0.003..0.003 rows=0 loops=11)

  • Index Cond: ("quotationTreeId" = pait.id)
76. 0.014 0.014 ↑ 1.0 1 1

Index Scan using "PK_3cda65c731a6264f0e444cc9b91" on currency "quotationCurrency" (cost=0.15..2.56 rows=1 width=132) (actual time=0.014..0.014 rows=1 loops=1)

  • Index Cond: (id = quotation."currencyId")
77. 0.022 0.022 ↓ 0.0 0 11

Index Scan using "PK_ed133b6c81724af85a3af6ed919" on attribite_rule "parentItemAttributesFieldRule" (cost=0.14..1.25 rows=1 width=636) (actual time=0.002..0.002 rows=0 loops=11)

  • Index Cond: (id = "parentItemAttributesField"."ruleId")
78. 0.022 0.022 ↓ 0.0 0 11

Index Scan using "UQ_fa3485f9e0077b947008458bc25" on quotation_product product (cost=0.13..0.37 rows=1 width=161) (actual time=0.002..0.002 rows=0 loops=11)

  • Index Cond: ("quotationTreeId" = pait.id)
79. 0.022 0.022 ↓ 0.0 0 11

Index Scan using "UQ_32422426089c75029118323a35f" on quotation_group "group" (cost=0.14..0.37 rows=1 width=163) (actual time=0.002..0.002 rows=0 loops=11)

  • Index Cond: ("quotationTreeId" = pait.id)
80. 0.022 0.022 ↓ 0.0 0 11

Index Scan using "UQ_ba425a7ab509cc2290e10f4a0ee" on quotation_part "quotationPart" (cost=0.12..0.36 rows=1 width=228) (actual time=0.002..0.002 rows=0 loops=11)

  • Index Cond: ("quotationTreeId" = pait.id)
81. 0.011 0.011 ↓ 0.0 0 11

Index Scan using "PK_cace4a159ff9f2512dd42373760" on "user" "quotationCreatedBy" (cost=0.12..0.74 rows=1 width=3,648) (actual time=0.001..0.001 rows=0 loops=11)

  • Index Cond: (id = quotation."createdById")
82. 0.022 0.022 ↑ 43.3 3 11

Seq Scan on currency_locale "quotationCurrencyLocales" (cost=0.00..11.30 rows=130 width=556) (actual time=0.001..0.002 rows=3 loops=11)

83. 0.044 0.066 ↓ 0.0 0 11

Hash Right Join (cost=4.69..15.71 rows=11 width=1,596) (actual time=0.006..0.006 rows=0 loops=11)

  • Hash Cond: ("quotationTagsLocales"."parentId" = "quotationTags".id)
84. 0.000 0.000 ↓ 0.0 0

Seq Scan on tag_locale "quotationTagsLocales" (cost=0.00..10.70 rows=70 width=1,052) (never executed)

85. 0.000 0.022 ↓ 0.0 0 11

Hash (cost=4.55..4.55 rows=11 width=544) (actual time=0.002..0.002 rows=0 loops=11)

  • Buckets: 1024 Batches: 1 Memory Usage: 8kB
86. 0.011 0.022 ↓ 0.0 0 11

Nested Loop Left Join (cost=0.30..4.55 rows=11 width=544) (actual time=0.001..0.002 rows=0 loops=11)

87. 0.011 0.011 ↓ 0.0 0 11

Index Scan using "IDX_369f835706d232817243778d18" on quotation_tags_tag "quotation_quotationTags" (cost=0.15..2.55 rows=11 width=8) (actual time=0.001..0.001 rows=0 loops=11)

  • Index Cond: ("quotationId" = quotation.id)
88. 0.000 0.000 ↓ 0.0 0

Index Scan using "PK_8e4052373c579afc1471f526760" on tag "quotationTags" (cost=0.14..0.18 rows=1 width=540) (never executed)

  • Index Cond: (id = "quotation_quotationTags"."tagId")