explain.depesz.com

PostgreSQL's explain analyze made readable

Result: Doxu

Settings
# exclusive inclusive rows x rows loops node
1. 0.003 378.153 ↑ 4.6 5 1

Limit (cost=250,630.41..250,630.47 rows=23 width=1,969) (actual time=378.150..378.153 rows=5 loops=1)

  • Output: product1_.em_obretss_hassequence, product1_.em_obretss_hasownsequence, ((SubPlan 1)), product1_.em_phbutpg_giftcardsubtype, product1_.em_phinum_amountmax, product1_.em_phinum_amountmin, ((COALE
  • Buffers: shared hit=255403 read=11
2. 0.056 378.150 ↑ 4.6 5 1

Sort (cost=250,630.41..250,630.47 rows=23 width=1,969) (actual time=378.148..378.150 rows=5 loops=1)

  • Output: product1_.em_obretss_hassequence, product1_.em_obretss_hasownsequence, ((SubPlan 1)), product1_.em_phbutpg_giftcardsubtype, product1_.em_phinum_amountmax, product1_.em_phinum_amountmin, (
  • Sort Key: product1_.name, product1_.m_product_id
  • Sort Method: quicksort Memory: 30kB
  • Buffers: shared hit=255403 read=11
3. 0.172 378.094 ↑ 4.6 5 1

Nested Loop (cost=2.23..250,629.89 rows=23 width=1,969) (actual time=122.493..378.094 rows=5 loops=1)

  • Output: product1_.em_obretss_hassequence, product1_.em_obretss_hasownsequence, (SubPlan 1), product1_.em_phbutpg_giftcardsubtype, product1_.em_phinum_amountmax, product1_.em_phinum_amountmi
  • Join Filter: ((product1_.c_uom_id)::text = (uom18_.c_uom_id)::text)
  • Rows Removed by Join Filter: 70
  • Buffers: shared hit=255403 read=11
4. 2.480 372.362 ↑ 4.6 5 1

Nested Loop Left Join (cost=2.23..244,729.03 rows=23 width=1,961) (actual time=122.304..372.362 rows=5 loops=1)

  • Output: obretco_pr0_.obretco_productlist_id, obretco_pr0_.em_butimas_productfollowed, obretco_pr0_.em_obpr_ranking_id, obretco_pr0_.em_obrpr_relevance, obretco_pr0_.bestseller, obretc
  • Join Filter: ((product1_.ad_image_id)::text = (adimage2_.ad_image_id)::text)
  • Rows Removed by Join Filter: 20420
  • Buffers: shared hit=254714 read=11
5. 0.026 365.242 ↑ 4.6 5 1

Nested Loop (cost=2.23..242,875.00 rows=23 width=1,514) (actual time=118.895..365.242 rows=5 loops=1)

  • Output: obretco_pr0_.obretco_productlist_id, obretco_pr0_.em_butimas_productfollowed, obretco_pr0_.em_obpr_ranking_id, obretco_pr0_.em_obrpr_relevance, obretco_pr0_.bestseller,
  • Join Filter: ((obretco_pr0_.m_product_id)::text = (pricingpro4_.m_product_id)::text)
  • Buffers: shared hit=254320 read=11
6. 0.020 365.141 ↑ 7.0 5 1

Nested Loop (cost=1.67..242,802.09 rows=35 width=1,520) (actual time=118.871..365.141 rows=5 loops=1)

  • Output: obretco_pr0_.obretco_productlist_id, obretco_pr0_.em_butimas_productfollowed, obretco_pr0_.em_obpr_ranking_id, obretco_pr0_.em_obrpr_relevance, obretco_pr0_.bestse
  • Buffers: shared hit=254294 read=11
7. 69.570 365.096 ↑ 7.0 5 1

Nested Loop (cost=1.12..242,568.19 rows=35 width=1,411) (actual time=118.862..365.096 rows=5 loops=1)

  • Output: obretco_pr0_.obretco_productlist_id, obretco_pr0_.em_butimas_productfollowed, obretco_pr0_.em_obpr_ranking_id, obretco_pr0_.em_obrpr_relevance, obretco_pr0_.
  • Buffers: shared hit=254269 read=11
  • -> Index Scan using obretco_prol_product_act_pl on public.obretco_prol_product obretco_pr0_ (cost=0.56..80859.79 rows=24134 width=110) (actual time=0.030..42.817 r
  • Output: obretco_pr0_.obretco_prol_product_id, obretco_pr0_.ad_client_id, obretco_pr0_.ad_org_id, obretco_pr0_.isactive, obretco_pr0_.created, obretco_pr0_.crea
  • Index Cond: ((obretco_pr0_.isactive = 'Y'::bpchar) AND ((obretco_pr0_.obretco_productlist_id)::text = '1365D84C84BC4BE6812B1CB40A810B97'::text))
  • Buffers: shared hit=42617
8. 295.526 295.526 ↓ 0.0 0 42,218

Index Scan using m_product_key on public.m_product product1_ (cost=0.56..6.69 rows=1 width=1,301) (actual time=0.007..0.007 rows=0 loops=42,218)

  • Output: product1_.m_product_id, product1_.ad_client_id, product1_.ad_org_id, product1_.isactive, product1_.created, product1_.createdby, product1_.updated, pro
  • Index Cond: ((product1_.m_product_id)::text = (obretco_pr0_.m_product_id)::text)
  • Filter: ((product1_.isactive = 'Y'::bpchar) AND ((upper((product1_.value)::text) ~~ '%%MALONE%TA%%%'::text) OR (upper((product1_.upc)::text) ~~ '%%MALONE%TA%%%
  • Rows Removed by Filter: 1
  • Buffers: shared hit=211652 read=11
9. 0.025 0.025 ↑ 1.0 1 5

Index Scan using m_product_key on public.m_product product_co8_ (cost=0.56..6.67 rows=1 width=109) (actual time=0.004..0.005 rows=1 loops=5)

  • Output: product_co8_.m_product_id, product_co8_.ad_client_id, product_co8_.ad_org_id, product_co8_.isactive, product_co8_.created, product_co8_.createdby, product_co
  • Index Cond: ((product_co8_.m_product_id)::text = (obretco_pr0_.m_product_id)::text)
  • Buffers: shared hit=25
10. 0.075 0.075 ↑ 1.0 1 5

Index Scan using m_productprice_act_plv_pro on public.m_productprice pricingpro4_ (cost=0.56..2.07 rows=1 width=60) (actual time=0.014..0.015 rows=1 loops=5)

  • Output: pricingpro4_.m_productprice_id, pricingpro4_.m_pricelist_version_id, pricingpro4_.m_product_id, pricingpro4_.ad_client_id, pricingpro4_.ad_org_id, pricingpro4_.isa
  • Index Cond: ((pricingpro4_.isactive = 'Y'::bpchar) AND ((pricingpro4_.m_pricelist_version_id)::text = '3A0A9F505FD34C2593140E326D1BF8E2'::text) AND ((pricingpro4_.m_produc
  • Buffers: shared hit=26
11. 3.418 4.640 ↑ 1.0 4,084 5

Materialize (cost=0.00..455.26 rows=4,084 width=529) (actual time=0.002..0.928 rows=4,084 loops=5)

  • Output: adimage2_.binarydata, adimage2_.ad_image_id
  • Buffers: shared hit=394
12. 1.222 1.222 ↑ 1.0 4,084 1

Seq Scan on public.ad_image adimage2_ (cost=0.00..434.84 rows=4,084 width=529) (actual time=0.005..1.222 rows=4,084 loops=1)

  • Output: adimage2_.binarydata, adimage2_.ad_image_id
  • Buffers: shared hit=394
13. 0.018 0.025 ↑ 1.0 15 5

Materialize (cost=0.00..1.22 rows=15 width=23) (actual time=0.002..0.005 rows=15 loops=5)

  • Output: uom18_.uomsymbol, uom18_.stdprecision, uom18_.c_uom_id
  • Buffers: shared hit=1
14. 0.007 0.007 ↑ 1.0 15 1

Seq Scan on public.c_uom uom18_ (cost=0.00..1.15 rows=15 width=23) (actual time=0.004..0.007 rows=15 loops=1)

  • Output: uom18_.uomsymbol, uom18_.stdprecision, uom18_.c_uom_id
  • Buffers: shared hit=1
15.          

SubPlan (forNested Loop)

16. 0.060 5.205 ↑ 1.0 1 5

HashAggregate (cost=189.71..189.72 rows=1 width=8) (actual time=1.041..1.041 rows=1 loops=5)

  • Output: sum(butismd_mi5_.available_stock), butismd_mi5_.nosica_store
  • Group Key: butismd_mi5_.nosica_store
  • Buffers: shared hit=533
17. 0.675 5.145 ↑ 1.0 1 5

Hash Join (cost=16.89..189.70 rows=1 width=8) (actual time=0.633..1.029 rows=1 loops=5)

  • Output: butismd_mi5_.nosica_store, butismd_mi5_.available_stock
  • Hash Cond: ((warehouse6_.em_butimwh_noswarehouse_id)::text = (butismd_mi5_.nosica_warehouse)::text)
  • Buffers: shared hit=533
18. 4.305 4.305 ↑ 1.2 1,303 5

Seq Scan on public.m_warehouse warehouse6_ (cost=0.00..167.18 rows=1,500 width=14) (actual time=0.007..0.861 rows=1,303 loops=5)

  • Output: warehouse6_.m_warehouse_id, warehouse6_.ad_client_id, warehouse6_.ad_org_id, warehouse6_.isactive, warehouse6_.created, warehouse6_.createdby, warehouse6_.update
  • Filter: ((warehouse6_.em_butimwh_type_code = '2'::numeric) OR (warehouse6_.em_butimwh_type_code = '12'::numeric))
  • Rows Removed by Filter: 1107
  • Buffers: shared hit=489
19. 0.025 0.165 ↓ 2.0 2 5

Hash (cost=16.88..16.88 rows=1 width=22) (actual time=0.033..0.033 rows=2 loops=5)

  • Output: butismd_mi5_.nosica_store, butismd_mi5_.available_stock, butismd_mi5_.nosica_warehouse
  • Buckets: 1024 Batches: 1 Memory Usage: 9kB
  • Buffers: shared hit=44
20. 0.025 0.140 ↓ 2.0 2 5

Nested Loop (cost=0.83..16.88 rows=1 width=22) (actual time=0.026..0.028 rows=2 loops=5)

  • Output: butismd_mi5_.nosica_store, butismd_mi5_.available_stock, butismd_mi5_.nosica_warehouse
  • Buffers: shared hit=44
21. 0.040 0.040 ↑ 1.0 1 5

Index Scan using obretco_pl_key on public.obretco_productlist obretco_pr7_ (cost=0.27..8.29 rows=1 width=4) (actual time=0.008..0.008 rows=1 loops=5)

  • Output: obretco_pr7_.obretco_productlist_id, obretco_pr7_.ad_client_id, obretco_pr7_.ad_org_id, obretco_pr7_.isactive, obretco_pr7_.created, obretco_pr7_.cre
  • Index Cond: ((obretco_pr0_.obretco_productlist_id)::text = (obretco_pr7_.obretco_productlist_id)::text)
  • Buffers: shared hit=15
22. 0.075 0.075 ↓ 2.0 2 5

Index Scan using butismd_ministock_unique on public.butismd_ministock butismd_mi5_ (cost=0.56..8.57 rows=1 width=22) (actual time=0.014..0.015 rows=2 loops=5)

  • Output: butismd_mi5_.butismd_ministock_id, butismd_mi5_.ad_client_id, butismd_mi5_.ad_org_id, butismd_mi5_.isactive, butismd_mi5_.created, butismd_mi5_.creat
  • Index Cond: (((butismd_mi5_.nosica_store)::text = (obretco_pr7_.em_butintp_nosica_storeid)::text) AND ((butismd_mi5_.nosica_product)::text = (product1_.em_bu
  • Buffers: shared hit=29
23. 0.050 0.050 ↑ 1.0 1 5

Index Scan using phieco_taxcategory_key on public.phieco_taxcategory eco (cost=0.41..8.43 rows=1 width=6) (actual time=0.010..0.010 rows=1 loops=5)

  • Output: eco.taxamt
  • Index Cond: ((eco.phieco_taxcategory_id)::text = (product_co8_.em_phieco_dea)::text)
  • Buffers: shared hit=20
24. 0.035 0.035 ↑ 1.0 1 5

Index Scan using phieco_taxcategory_key on public.phieco_taxcategory eco_1 (cost=0.41..8.43 rows=1 width=6) (actual time=0.006..0.007 rows=1 loops=5)

  • Output: eco_1.taxamt
  • Index Cond: ((eco_1.phieco_taxcategory_id)::text = (product_co8_.em_phieco_deee)::text)
  • Buffers: shared hit=20
25. 0.040 0.040 ↓ 0.0 0 5

Seq Scan on public.obpos_print_template obpos_prin10_ (cost=0.00..2.50 rows=1 width=42) (actual time=0.008..0.008 rows=0 loops=5)

  • Output: obpos_prin10_.template_path
  • Filter: ((product1_.em_obpgc_printtemplate_id)::text = (obpos_prin10_.obpos_print_template_id)::text)
  • Rows Removed by Filter: 40
  • Buffers: shared hit=10
26. 0.020 0.020 ↓ 0.0 0 5

Seq Scan on public.obpos_print_template obpos_prin11_ (cost=0.00..2.50 rows=1 width=4) (actual time=0.004..0.004 rows=0 loops=5)

  • Output: obpos_prin11_.print_type
  • Filter: ((product1_.em_obpgc_printtemplate_id)::text = (obpos_prin11_.obpos_print_template_id)::text)
  • Rows Removed by Filter: 40
  • Buffers: shared hit=10
27. 0.025 0.025 ↓ 0.0 0 5

Seq Scan on public.obpos_print_template obpos_prin12_ (cost=0.00..2.50 rows=1 width=5) (actual time=0.005..0.005 rows=0 loops=5)

  • Output: obpos_prin12_.printer
  • Filter: ((product1_.em_obpgc_printtemplate_id)::text = (obpos_prin12_.obpos_print_template_id)::text)
  • Rows Removed by Filter: 40
  • Buffers: shared hit=10
28. 0.015 0.015 ↑ 1.0 1 5

Index Scan using phieco_taxcategory_key on public.phieco_taxcategory phieco_tax13_ (cost=0.41..8.43 rows=1 width=6) (actual time=0.003..0.003 rows=1 loops=5)

  • Output: phieco_tax13_.taxamt
  • Index Cond: ((product1_.em_phieco_dea)::text = (phieco_tax13_.phieco_taxcategory_id)::text)
  • Buffers: shared hit=20
29. 0.015 0.015 ↑ 1.0 1 5

Index Scan using phieco_taxcategory_key on public.phieco_taxcategory phieco_tax14_ (cost=0.41..8.43 rows=1 width=6) (actual time=0.003..0.003 rows=1 loops=5)

  • Output: phieco_tax14_.taxamt
  • Index Cond: ((product1_.em_phieco_deee)::text = (phieco_tax14_.phieco_taxcategory_id)::text)
  • Buffers: shared hit=20
30. 0.012 0.130 ↓ 0.0 0 5

Nested Loop (cost=1.26..25.34 rows=1 width=13) (actual time=0.026..0.026 rows=0 loops=5)

  • Output: characteri16_.name
  • Buffers: shared hit=45
31. 0.010 0.100 ↓ 0.0 0 5

Nested Loop (cost=0.83..16.88 rows=1 width=33) (actual time=0.020..0.020 rows=0 loops=5)

  • Output: productcha15_.m_ch_value_id
  • Buffers: shared hit=37
32. 0.035 0.035 ↑ 1.0 1 5

Index Scan using em_butintp_ch_name_client on public.m_characteristic characteri17_ (cost=0.28..8.29 rows=1 width=33) (actual time=0.007..0.007 rows=1 loops=5)

  • Output: characteri17_.m_characteristic_id, characteri17_.ad_client_id, characteri17_.ad_org_id, characteri17_.isactive, characteri17_.created, characteri17_.createdby, c
  • Index Cond: ((characteri17_.name)::text = 'Produit.DispoPce'::text)
  • Buffers: shared hit=15
33. 0.055 0.055 ↓ 0.0 0 5

Index Scan using em_repdf_product_ch_rep on public.m_product_ch_value productcha15_ (cost=0.56..8.58 rows=1 width=66) (actual time=0.011..0.011 rows=0 loops=5)

  • Output: productcha15_.m_product_ch_value_id, productcha15_.ad_client_id, productcha15_.ad_org_id, productcha15_.isactive, productcha15_.created, productcha15_.createdby,
  • Index Cond: (((productcha15_.m_product_id)::text = (product1_.m_product_id)::text) AND ((productcha15_.m_characteristic_id)::text = (characteri17_.m_characteristic_id)::
  • Buffers: shared hit=22
34. 0.018 0.018 ↑ 1.0 1 2

Index Scan using m_ch_value_key on public.m_ch_value characteri16_ (cost=0.42..8.44 rows=1 width=46) (actual time=0.009..0.009 rows=1 loops=2)

  • Output: characteri16_.m_ch_value_id, characteri16_.ad_client_id, characteri16_.ad_org_id, characteri16_.isactive, characteri16_.created, characteri16_.createdby, characteri16_
  • Index Cond: ((characteri16_.m_ch_value_id)::text = (productcha15_.m_ch_value_id)::text)
  • Buffers: shared hit=8