explain.depesz.com

PostgreSQL's explain analyze made readable

Result: 25iy : Available Products

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

Unique (cost=111,344.79..111,904.48 rows=37,313 width=574) (actual rows= loops=)

  • JIT:
  • Functions: 54
  • Options: Inlining false, Optimization false, Expressions true, Deforming true
2. 0.000 0.000 ↓ 0.0

Sort (cost=111,344.79..111,438.07 rows=37,313 width=574) (actual rows= loops=)

  • Sort Key: product_product.ordering, product_product.name, product_product.id, organization_organization.name, vat_vat.name
3. 0.000 0.000 ↓ 0.0

Gather (cost=84,763.73..98,945.85 rows=37,313 width=574) (actual rows= loops=)

  • Workers Planned: 2
4. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=83,763.73..94,214.55 rows=15,547 width=574) (actual rows= loops=)

  • Hash Cond: (product_product.supplier_id = organization_organization.id)
  • Filter: ((product_product.supplier_id IS NULL) OR (organization_organization.status = 1))
5. 0.000 0.000 ↓ 0.0

Hash Join (cost=83,059.84..93,469.84 rows=15,547 width=552) (actual rows= loops=)

  • Hash Cond: (price_pricelistitem.price_list_id = price_pricelist.id)
6. 0.000 0.000 ↓ 0.0

Hash Join (cost=82,012.89..92,382.04 rows=15,555 width=556) (actual rows= loops=)

  • Hash Cond: (product_product.vat_id = vat_vat.id)
7. 0.000 0.000 ↓ 0.0

Parallel Hash Join (cost=82,011.84..92,085.45 rows=46,665 width=44) (actual rows= loops=)

  • Hash Cond: (price_pricelistitem.product_id = product_product.id)
8. 0.000 0.000 ↓ 0.0

Parallel Seq Scan on price_pricelistitem (cost=0.00..7,158.86 rows=144,615 width=8) (actual rows= loops=)

  • Filter: ((id IS NOT NULL) AND (price > '0'::numeric) AND (price > '0'::numeric) AND (status = 1))
9. 0.000 0.000 ↓ 0.0

Parallel Hash (cost=79,474.59..79,474.59 rows=119,140 width=44) (actual rows= loops=)

10. 0.000 0.000 ↓ 0.0

Parallel Hash Join (cost=67,499.49..79,474.59 rows=119,140 width=44) (actual rows= loops=)

  • Hash Cond: (product_productstoreattr.product_id = product_product.id)
11. 0.000 0.000 ↓ 0.0

Parallel Seq Scan on product_productstoreattr (cost=0.00..7,845.35 rows=119,140 width=4) (actual rows= loops=)

  • Filter: ((status = 1) AND ((level > 0) OR (quantity > '0'::numeric) OR ((stock_management_type)::text = 'nmd'::text)))
12. 0.000 0.000 ↓ 0.0

Parallel Hash (cost=59,999.24..59,999.24 rows=369,220 width=40) (actual rows= loops=)

13. 0.000 0.000 ↓ 0.0

Parallel Seq Scan on product_product (cost=0.00..59,999.24 rows=369,220 width=40) (actual rows= loops=)

  • Filter: (status = 1)
14. 0.000 0.000 ↓ 0.0

Hash (cost=1.04..1.04 rows=1 width=520) (actual rows= loops=)

15. 0.000 0.000 ↓ 0.0

Seq Scan on vat_vat (cost=0.00..1.04 rows=1 width=520) (actual rows= loops=)

  • Filter: (status = 1)
16. 0.000 0.000 ↓ 0.0

Hash (cost=799.74..799.74 rows=19,777 width=4) (actual rows= loops=)

17. 0.000 0.000 ↓ 0.0

Seq Scan on price_pricelist (cost=0.00..799.74 rows=19,777 width=4) (actual rows= loops=)

  • Filter: ((date_begin <= '2020-06-25'::date) AND (date_end >= '2020-06-25'::date) AND (status = 1) AND ((price_list_type)::text = 'SP'::text))
18. 0.000 0.000 ↓ 0.0

Hash (cost=483.95..483.95 rows=17,595 width=34) (actual rows= loops=)

19. 0.000 0.000 ↓ 0.0

Seq Scan on organization_organization (cost=0.00..483.95 rows=17,595 width=34) (actual rows= loops=)