explain.depesz.com

PostgreSQL's explain analyze made readable

Result: nGEA

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

XN Merge (cost=1,000,000,693,333.80..1,000,000,693,333.81 rows=1 width=130) (actual rows= loops=)

  • Merge Key: round((COALESCE(sales.sum_order_items, 0::bigint))::double precision), COALESCE(tr.parent_asin, sales.parent_asin)
2. 0.000 0.000 ↓ 0.0

XN Network (cost=1,000,000,693,333.80..1,000,000,693,333.81 rows=1 width=130) (actual rows= loops=)

  • Send to leader
3. 0.000 0.000 ↓ 0.0

XN Sort (cost=1,000,000,693,333.80..1,000,000,693,333.81 rows=1 width=130) (actual rows= loops=)

  • Sort Key: round((COALESCE(sales.sum_order_items, 0::bigint))::double precision), COALESCE(tr.parent_asin, sales.parent_asin)
4. 0.000 0.000 ↓ 0.0

XN Nested Loop DS_BCAST_INNER (cost=200,000.31..693,333.79 rows=1 width=130) (actual rows= loops=)

5. 0.000 0.000 ↓ 0.0

XN Subquery Scan totals (cost=200,000.18..200,000.19 rows=1 width=16) (actual rows= loops=)

6. 0.000 0.000 ↓ 0.0

XN Hash Full Join DS_DIST_BOTH (cost=0.14..253,333.54 rows=1 width=114) (actual rows= loops=)

  • Outer Dist Key: tr.merchant_customer_id
  • Inner Dist Key: sales.merchant_customer_id
  • Hash Cond: (("outer".merchant_customer_id = "inner".merchant_customer_id) AND (("outer".parent_asin)::text = ("inner".parent_asin)::text))
7. 0.000 0.000 ↓ 0.0

XN Subquery Scan tr (cost=0.07..0.10 rows=1 width=65) (actual rows= loops=)

8. 0.000 0.000 ↓ 0.0

XN Hash (cost=0.06..0.06 rows=1 width=65) (actual rows= loops=)

9. 0.000 0.000 ↓ 0.0

XN Aggregate (cost=200,000.18..200,000.18 rows=1 width=16) (actual rows= loops=)

10. 0.000 0.000 ↓ 0.0

XN Subquery Scan sales (cost=0.05..0.06 rows=1 width=65) (actual rows= loops=)

11. 0.000 0.000 ↓ 0.0

XN HashAggregate (cost=0.07..0.09 rows=1 width=65) (actual rows= loops=)

12. 0.000 0.000 ↓ 0.0

XN Hash Full Join DS_DIST_BOTH (cost=0.12..200,000.17 rows=1 width=16) (actual rows= loops=)

  • Outer Dist Key: tr.merchant_customer_id
  • Inner Dist Key: sales.merchant_customer_id
  • Hash Cond: (("outer".merchant_customer_id = "inner".merchant_customer_id) AND (("outer".parent_asin)::text = ("inner".parent_asin)::text))
13. 0.000 0.000 ↓ 0.0

XN Subquery Scan tr (cost=0.06..0.08 rows=1 width=57) (actual rows= loops=)

14. 0.000 0.000 ↓ 0.0

XN Seq Scan on fct_merchant_asin_activity_daily_20190308 (cost=0.00..0.05 rows=1 width=65) (actual rows= loops=)

15. 0.000 0.000 ↓ 0.0

XN HashAggregate (cost=0.05..0.05 rows=1 width=65) (actual rows= loops=)

16. 0.000 0.000 ↓ 0.0

XN Hash (cost=0.05..0.05 rows=1 width=41) (actual rows= loops=)

  • Filter: ((dataset_date <= '2019-04-15'::date) AND (dataset_date > '2019-03-31'::date) AND (marketplace_id = 1) AND (merchant_customer_id = 142499351))
17. 0.000 0.000 ↓ 0.0

XN Subquery Scan sales (cost=0.04..0.05 rows=1 width=41) (actual rows= loops=)

18. 0.000 0.000 ↓ 0.0

XN Seq Scan on fct_merchant_sales_metrics_daily_20190308 (cost=0.00..0.03 rows=1 width=65) (actual rows= loops=)

19. 0.000 0.000 ↓ 0.0

XN HashAggregate (cost=0.06..0.07 rows=1 width=57) (actual rows= loops=)

  • Filter: ((dataset_date <= '2019-04-15'::date) AND (dataset_date > '2019-03-31'::date) AND (marketplace_id = 1) AND (merchant_customer_id = 142499351))
20. 0.000 0.000 ↓ 0.0

XN Seq Scan on fct_merchant_asin_activity_daily_20190308 (cost=0.00..0.05 rows=1 width=57) (actual rows= loops=)

21. 0.000 0.000 ↓ 0.0

XN HashAggregate (cost=0.04..0.04 rows=1 width=41) (actual rows= loops=)

  • Filter: ((dataset_date <= '2019-04-15'::date) AND (dataset_date > '2019-03-31'::date) AND (marketplace_id = 1) AND (merchant_customer_id = 142499351))
22. 0.000 0.000 ↓ 0.0

XN Seq Scan on fct_merchant_sales_metrics_daily_20190308 (cost=0.00..0.03 rows=1 width=41) (actual rows= loops=)

  • Filter: ((dataset_date <= '2019-04-15'::date) AND (dataset_date > '2019-03-31'::date) AND (marketplace_id = 1) AND (merchant_customer_id = 142499351))