explain.depesz.com

PostgreSQL's explain analyze made readable

Result: QdlJ

Settings
# exclusive inclusive rows x rows loops node
1. 0.003 42.901 ↓ 1.7 5 1

Limit (cost=6,094.57..6,094.58 rows=3 width=1,542) (actual time=42.899..42.901 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, ((COALESCE((SubPlan 2), '0'::numeric) * product_co6_.em_phieco_de
  • Buffers: shared hit=5836 read=9
2. 0.113 42.898 ↓ 1.7 5 1

Sort (cost=6,094.57..6,094.58 rows=3 width=1,542) (actual time=42.897..42.898 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, ((COALESCE((SubPlan 2), '0'::numeric) * product_co6_.em_phi
  • Sort Key: product18_.name, product1_.m_product_id
  • Sort Method: quicksort Memory: 30kB
  • Buffers: shared hit=5836 read=9
3. 0.093 42.785 ↓ 1.7 5 1

Nested Loop (cost=729.62..6,094.55 rows=3 width=1,542) (actual time=40.648..42.785 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, (COALESCE((SubPlan 2), '0'::numeric) * product_co6_.em_
  • Join Filter: ((obretco_pr0_.m_product_id)::text = (product18_.m_product_id)::text)
  • Buffers: shared hit=5833 read=9
4. 0.055 37.967 ↓ 1.7 5 1

Nested Loop (cost=729.06..5,244.18 rows=3 width=1,588) (actual time=37.925..37.967 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, obretco_pr0_.issalediscontinued, obretco_pr0_.isactive, obretco_
  • Join Filter: ((product1_.c_uom_id)::text = (uom16_.c_uom_id)::text)
  • Rows Removed by Join Filter: 70
  • Buffers: shared hit=5344 read=9
5. 0.007 0.007 ↑ 1.0 15 1

Seq Scan on public.c_uom uom16_ (cost=0.00..1.15 rows=15 width=22) (actual time=0.006..0.007 rows=15 loops=1)

  • Output: uom16_.c_uom_id, uom16_.ad_client_id, uom16_.ad_org_id, uom16_.isactive, uom16_.created, uom16_.updated, uom16_.createdby, uom16_.updatedby, uom16_.x12de355, uom16_.uomsymbol, uom16_.name, uom16_.description, uom16_.stdprecisio
  • Buffers: shared hit=1
6. 0.035 37.905 ↓ 1.7 5 15

Materialize (cost=729.06..5,242.37 rows=3 width=1,580) (actual time=2.066..2.527 rows=5 loops=15)

  • 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, obretco_pr0_.issalediscontinued, obretco_pr0_.isactive, ob
  • Buffers: shared hit=5343 read=9
7. 0.017 37.870 ↓ 1.7 5 1

Nested Loop (cost=729.06..5,242.35 rows=3 width=1,580) (actual time=30.984..37.870 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, obretco_pr0_.issalediscontinued, obretco_pr0_.isacti
  • Join Filter: ((obretco_pr0_.m_product_id)::text = (pricingpro2_.m_product_id)::text)
  • Buffers: shared hit=5343 read=9
8. 0.006 37.738 ↓ 1.2 5 1

Nested Loop (cost=728.37..5,231.11 rows=4 width=1,520) (actual time=30.943..37.738 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, obretco_pr0_.issalediscontinued, obretco_pr0_.
  • Buffers: shared hit=5313 read=9
9. 0.429 37.617 ↓ 1.2 5 1

Nested Loop (cost=727.82..5,203.97 rows=4 width=1,411) (actual time=30.919..37.617 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, obretco_pr0_.issalediscontinued, obretco
  • Buffers: shared hit=5288 read=9
10. 9.270 24.322 ↓ 2.7 919 1

Bitmap Heap Scan on public.m_product product1_ (cost=727.26..2,325.48 rows=335 width=1,301) (actual time=15.497..24.322 rows=919 loops=1)

  • Output: product1_.em_obretss_hassequence, product1_.em_obretss_hasownsequence, product1_.em_butintp_idproduit, product1_.em_phbutpg_giftcardsubtype, product1_.em_phinum_amountmax, product1_.em_phinum_amountmin,
  • Recheck Cond: ((upper((product1_.upc)::text) ~~ '%TABLE%'::text) OR (upper((product1_.name)::text) ~~ '%1001%'::text))
  • Rows Removed by Index Recheck: 327
  • Filter: (product1_.isactive = 'Y'::bpchar)
  • Rows Removed by Filter: 185
  • Heap Blocks: exact=1426
  • Buffers: shared hit=1604 read=9
11. 0.003 15.052 ↓ 0.0 0 1

BitmapOr (cost=727.26..727.26 rows=412 width=0) (actual time=15.052..15.052 rows=0 loops=1)

  • Buffers: shared hit=178 read=9
12. 5.062 5.062 ↓ 0.0 0 1

Bitmap Index Scan on em_butgrid_m_product_upc_trgm (cost=0.00..353.77 rows=236 width=0) (actual time=5.062..5.062 rows=0 loops=1)

  • Index Cond: (upper((product1_.upc)::text) ~~ '%TABLE%'::text)
  • Buffers: shared hit=58 read=2
13. 9.987 9.987 ↓ 8.1 1,431 1

Bitmap Index Scan on em_butgrid_m_product_name_trgm (cost=0.00..373.32 rows=176 width=0) (actual time=9.987..9.987 rows=1,431 loops=1)

  • Index Cond: (upper((product1_.name)::text) ~~ '%1001%'::text)
  • Buffers: shared hit=120 read=7
14. 12.866 12.866 ↓ 0.0 0 919

Index Scan using obretco_prol_product_un on public.obretco_prol_product obretco_pr0_ (cost=0.56..8.58 rows=1 width=110) (actual time=0.014..0.014 rows=0 loops=919)

  • 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_.createdby, obretco_pr0_.updated, obretco_pr0_.updatedby,
  • Index Cond: (((obretco_pr0_.obretco_productlist_id)::text = 'BC2BF31849F145FD888B6B69D0DA4CF0'::text) AND ((obretco_pr0_.m_product_id)::text = (product1_.m_product_id)::text))
  • Filter: (obretco_pr0_.isactive = 'Y'::bpchar)
  • Buffers: shared hit=3684
15. 0.115 0.115 ↑ 1.0 1 5

Index Scan using m_product_key on public.m_product product_co6_ (cost=0.56..6.77 rows=1 width=109) (actual time=0.022..0.023 rows=1 loops=5)

  • Output: product_co6_.em_phieco_dea, product_co6_.em_phieco_dea_qty, product_co6_.em_phieco_deee, product_co6_.em_phieco_deee_qty, product_co6_.m_product_id
  • Index Cond: ((product_co6_.m_product_id)::text = (obretco_pr0_.m_product_id)::text)
  • Buffers: shared hit=25
16. 0.115 0.115 ↑ 1.0 1 5

Index Scan using m_productprice_act_plv_pro on public.m_productprice pricingpro2_ (cost=0.69..2.80 rows=1 width=60) (actual time=0.022..0.023 rows=1 loops=5)

  • Output: pricingpro2_.m_productprice_id, pricingpro2_.m_pricelist_version_id, pricingpro2_.m_product_id, pricingpro2_.ad_client_id, pricingpro2_.ad_org_id, pricingpro2_.isactive, pricingpro2_.created, pricingpro2_.createdby,
  • Index Cond: ((pricingpro2_.isactive = 'Y'::bpchar) AND ((pricingpro2_.m_pricelist_version_id)::text = '53720EAC40B841B5BFCE359A49B0C364'::text) AND ((pricingpro2_.m_product_id)::text = (product_co6_.m_product_id)::text))
  • Buffers: shared hit=30
17. 0.050 0.050 ↑ 1.0 1 5

Index Scan using m_product_key on public.m_product product18_ (cost=0.56..0.92 rows=1 width=53) (actual time=0.010..0.010 rows=1 loops=5)

  • Output: product18_.name, product18_.m_product_id
  • Index Cond: ((product18_.m_product_id)::text = (product_co6_.m_product_id)::text)
  • Buffers: shared hit=25
18.          

SubPlan (forNested Loop)

19. 0.030 4.280 ↓ 0.0 0 5

HashAggregate (cost=216.03..216.04 rows=1 width=8) (actual time=0.856..0.856 rows=0 loops=5)

  • Output: sum(butismd_mi3_.available_stock), butismd_mi3_.nosica_store
  • Group Key: butismd_mi3_.nosica_store
  • Buffers: shared hit=334
20. 0.473 4.250 ↓ 0.0 0 5

Hash Join (cost=16.89..216.02 rows=1 width=8) (actual time=0.384..0.850 rows=0 loops=5)

  • Output: butismd_mi3_.nosica_store, butismd_mi3_.available_stock
  • Hash Cond: ((warehouse4_.em_butimwh_noswarehouse_id)::text = (butismd_mi3_.nosica_warehouse)::text)
  • Buffers: shared hit=334
21. 3.612 3.612 ↓ 1.1 1,681 2

Seq Scan on public.m_warehouse warehouse4_ (cost=0.00..193.32 rows=1,548 width=14) (actual time=0.008..1.806 rows=1,681 loops=2)

  • Output: warehouse4_.m_warehouse_id, warehouse4_.ad_client_id, warehouse4_.ad_org_id, warehouse4_.isactive, warehouse4_.created, warehouse4_.createdby, warehouse4_.updated, warehouse4_.updatedby, warehouse4_.value, warehouse4_.n
  • Filter: ((warehouse4_.em_butimwh_type_code = '2'::numeric) OR (warehouse4_.em_butimwh_type_code = '12'::numeric))
  • Rows Removed by Filter: 1420
  • Buffers: shared hit=294
22. 0.010 0.165 ↑ 1.0 1 5

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

  • Output: butismd_mi3_.nosica_store, butismd_mi3_.available_stock, butismd_mi3_.nosica_warehouse
  • Buckets: 1024 Batches: 1 Memory Usage: 8kB
  • Buffers: shared hit=40
23. 0.020 0.155 ↑ 1.0 1 5

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

  • Output: butismd_mi3_.nosica_store, butismd_mi3_.available_stock, butismd_mi3_.nosica_warehouse
  • Buffers: shared hit=40
24. 0.030 0.030 ↑ 1.0 1 5

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

  • Output: obretco_pr5_.obretco_productlist_id, obretco_pr5_.ad_client_id, obretco_pr5_.ad_org_id, obretco_pr5_.isactive, obretco_pr5_.created, obretco_pr5_.createdby, obretco_pr5_.updated, obretco_pr5_.updatedby, obre
  • Index Cond: ((obretco_pr0_.obretco_productlist_id)::text = (obretco_pr5_.obretco_productlist_id)::text)
  • Buffers: shared hit=15
25. 0.105 0.105 ↑ 1.0 1 5

Index Scan using butismd_ministock_unique on public.butismd_ministock butismd_mi3_ (cost=0.56..8.57 rows=1 width=22) (actual time=0.019..0.021 rows=1 loops=5)

  • Output: butismd_mi3_.butismd_ministock_id, butismd_mi3_.ad_client_id, butismd_mi3_.ad_org_id, butismd_mi3_.isactive, butismd_mi3_.created, butismd_mi3_.createdby, butismd_mi3_.updated, butismd_mi3_.updatedby, butism
  • Index Cond: (((butismd_mi3_.nosica_store)::text = (obretco_pr5_.em_butintp_nosica_storeid)::text) AND ((butismd_mi3_.nosica_product)::text = (product1_.em_butintp_idproduit)::text))
  • Buffers: shared hit=25
26. 0.005 0.005 ↓ 0.0 0 5

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

  • Output: eco.taxamt
  • Index Cond: ((eco.phieco_taxcategory_id)::text = (product_co6_.em_phieco_dea)::text)
27. 0.065 0.065 ↑ 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.013..0.013 rows=1 loops=5)

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

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

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

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

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

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

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

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

  • Output: phieco_tax11_.taxamt
  • Index Cond: ((product1_.em_phieco_dea)::text = (phieco_tax11_.phieco_taxcategory_id)::text)
32. 0.030 0.030 ↑ 1.0 1 5

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

  • Output: phieco_tax12_.taxamt
  • Index Cond: ((product1_.em_phieco_deee)::text = (phieco_tax12_.phieco_taxcategory_id)::text)
  • Buffers: shared hit=20
33. 0.010 0.195 ↑ 1.0 1 5

Nested Loop (cost=1.26..25.26 rows=1 width=13) (actual time=0.038..0.039 rows=1 loops=5)

  • Output: characteri14_.name
  • Buffers: shared hit=60
34. 0.005 0.130 ↑ 1.0 1 5

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

  • Output: productcha13_.m_ch_value_id
  • Buffers: shared hit=40
35. 0.035 0.035 ↑ 1.0 1 5

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

  • Output: characteri15_.m_characteristic_id, characteri15_.ad_client_id, characteri15_.ad_org_id, characteri15_.isactive, characteri15_.created, characteri15_.createdby, characteri15_.updated, characteri15_.updatedby, characteri1
  • Index Cond: ((characteri15_.name)::text = 'Produit.DispoPce'::text)
  • Buffers: shared hit=15
36. 0.090 0.090 ↑ 1.0 1 5

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

  • Output: productcha13_.m_product_ch_value_id, productcha13_.ad_client_id, productcha13_.ad_org_id, productcha13_.isactive, productcha13_.created, productcha13_.createdby, productcha13_.updated, productcha13_.updatedby, productch
  • Index Cond: (((productcha13_.m_product_id)::text = (product1_.m_product_id)::text) AND ((productcha13_.m_characteristic_id)::text = (characteri15_.m_characteristic_id)::text))
  • Buffers: shared hit=25
37. 0.055 0.055 ↑ 1.0 1 5

Index Scan using m_ch_value_key on public.m_ch_value characteri14_ (cost=0.42..8.37 rows=1 width=46) (actual time=0.011..0.011 rows=1 loops=5)

  • Output: characteri14_.m_ch_value_id, characteri14_.ad_client_id, characteri14_.ad_org_id, characteri14_.isactive, characteri14_.created, characteri14_.createdby, characteri14_.updated, characteri14_.updatedby, characteri14_.m_charact
  • Index Cond: ((characteri14_.m_ch_value_id)::text = (productcha13_.m_ch_value_id)::text)
  • Buffers: shared hit=20