explain.depesz.com

PostgreSQL's explain analyze made readable

Result: oWNy

Settings
# exclusive inclusive rows x rows loops node
1. 71.986 757.972 ↑ 1.0 100 1

Limit (cost=1,001.14..295,289.11 rows=100 width=68) (actual time=6.550..757.972 rows=100 loops=1)

  • Output: simple0_.ws_simple_id, config1_.ws_config_id
  • Buffers: shared hit=7223 read=1989
2. 0.000 685.986 ↑ 5.4 100 1

Nested Loop (cost=1,001.14..1,578,384.68 rows=536 width=68) (actual time=6.549..685.986 rows=100 loops=1)

  • Output: simple0_.ws_simple_id, config1_.ws_config_id
  • Buffers: shared hit=2386 read=232
3. 0.000 709.430 ↑ 15.9 18 1

Gather Merge (cost=1,000.58..1,015,792.24 rows=287 width=147) (actual time=6.481..709.430 rows=18 loops=1)

  • Output: config1_.ws_config_id, config1_.country_of_origin, config1_.material_composition
  • Workers Planned: 2
  • Workers Launched: 2
  • Buffers: shared hit=5570 read=1881
4. 1,594.155 1,594.155 ↑ 13.3 9 3

Parallel Index Scan using article_pkey on wholesale_articles.wholesale_config config1_ (cost=0.55..1,014,759.09 rows=120 width=147) (actual time=0.256..531.385 rows=9 loops=3)

  • Output: config1_.ws_config_id, config1_.country_of_origin, config1_.material_composition
  • Filter: (((config1_.supplier_code)::text = 'K71407'::text) AND ((config1_.season_code)::text = 'FS20'::text) AND ((config1_.brand_code)::text = ANY ('{CO4,DE1,JOC,NI2,NI5,NI4,N12,NIC,NS4,NI1,N13}'::text[])))
  • Rows Removed by Filter: 2605
  • Buffers: shared hit=5570 read=1881
  • Worker 0: actual time=0.138..752.526 rows=14 loops=1
  • Buffers: shared hit=2930 read=884
  • Worker 1: actual time=0.155..731.126 rows=10 loops=1
  • Buffers: shared hit=1907 read=873
5. 0.520 48.420 ↑ 1.0 6 18

Index Scan using simple_ws_config_id on wholesale_articles.wholesale_simple simple0_ (cost=0.56..1,960.19 rows=6 width=299) (actual time=0.666..2.690 rows=6 loops=18)

  • Output: simple0_.ws_simple_id, simple0_.ws_config_id, simple0_.recommended_retail_price, simple0_.gtin
  • Index Cond: ((simple0_.ws_config_id)::text = (config1_.ws_config_id)::text)
  • Filter: ((NOT simple0_.deleted) AND ((config1_.country_of_origin IS NULL) OR (config1_.material_composition IS NULL) OR (simple0_.recommended_retail_price IS NULL) OR (simple0_.gtin IS NULL)) AND ((SubPlan 1) >= 0))
  • Buffers: shared hit=1653 read=108
6.          

SubPlan (for Index Scan)

7. 0.200 47.900 ↑ 1.0 1 100

Aggregate (cost=81.03..81.04 rows=1 width=8) (actual time=0.479..0.479 rows=1 loops=100)

  • Output: count(externalar95_.reference_id)
  • Buffers: shared hit=1497 read=108
8. 47.700 47.700 ↑ 1.6 11 100

Index Scan using external_article_reference_by_simple_id on wholesale_articles.external_article_reference externalar95_ (cost=0.56..80.99 rows=18 width=11) (actual time=0.466..0.477 rows=11 loops=100)

  • Output: externalar95_.ws_simple_id, externalar95_.referencing_type, externalar95_.reference_id, externalar95_.reference_status, externalar95_.delivery_date_from
  • Index Cond: ((externalar95_.ws_simple_id)::text = (simple0_.ws_simple_id)::text)
  • Filter: (((externalar95_.referencing_type)::text = ANY ('{PO,LEGACY_PO}'::text[])) AND ((externalar95_.reference_status)::text <> 'CANCELED'::text))
  • Rows Removed by Filter: 1
  • Buffers: shared hit=1497 read=108
Planning time : 0.587 ms
Execution time : 758.061 ms