explain.depesz.com

PostgreSQL's explain analyze made readable

Result: HI25

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

Aggregate (cost=65,460.39..65,460.40 rows=1 width=8) (actual rows= loops=)

2. 0.000 0.000 ↓ 0.0

Hash Semi Join (cost=37,072.79..65,460.39 rows=1 width=4) (actual rows= loops=)

  • Hash Cond: (p.product_no = cp.product_no)
3. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=36,961.73..65,290.20 rows=22,524 width=8) (actual rows= loops=)

  • Hash Cond: (p.brand_code = bp.brand_code)
4. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=36,959.64..65,091.03 rows=22,524 width=17) (actual rows= loops=)

  • Hash Cond: (p.trend_code = tp_2.trend_code)
5. 0.000 0.000 ↓ 0.0

Hash Right Join (cost=36,957.60..64,779.28 rows=22,524 width=26) (actual rows= loops=)

  • Hash Cond: (por.product_no = p.product_no)
6. 0.000 0.000 ↓ 0.0

Seq Scan on te_product_option_revision por (cost=0.00..27,013.79 rows=156,692 width=4) (actual rows= loops=)

  • Filter: ((is_deleted = 'F'::bpchar) AND (shop_no = 1))
7. 0.000 0.000 ↓ 0.0

Hash (cost=36,676.05..36,676.05 rows=22,524 width=26) (actual rows= loops=)

8. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=12,604.53..36,676.05 rows=22,524 width=26) (actual rows= loops=)

  • Hash Cond: (p.manufacturer_code = (tp_1.manufacturer_code)::bpchar)
  • Filter: (((p.product_code)::text ~~ '%투명%'::text) OR ((tp.product_name)::text ~~ '%투명%'::text) OR ((tp_1.manufacturer_name)::text ~~ '%투명%'::text) OR (t.search_keyword ~~ '%투명%'::text) OR (tp.product_tag ~~ '%투명%'::text))
9. 0.000 0.000 ↓ 0.0

Hash Join (cost=12,602.45..35,084.68 rows=105,953 width=167) (actual rows= loops=)

  • Hash Cond: (tp.product_no = p.product_no)
10. 0.000 0.000 ↓ 0.0

Seq Scan on te_product_in_shop tp (cost=0.00..14,857.82 rows=120,984 width=129) (actual rows= loops=)

  • Filter: ((shop_no = 1) AND (is_display = 'T'::bpchar) AND (is_deleted = 'F'::bpchar))
11. 0.000 0.000 ↓ 0.0

Hash (cost=9,477.55..9,477.55 rows=140,312 width=49) (actual rows= loops=)

12. 0.000 0.000 ↓ 0.0

Seq Scan on product p (cost=0.00..9,477.55 rows=140,312 width=49) (actual rows= loops=)

  • Filter: (is_deleted = 'F'::bpchar)
13. 0.000 0.000 ↓ 0.0

Hash (cost=2.07..2.07 rows=1 width=284) (actual rows= loops=)

14. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.00..2.07 rows=1 width=284) (actual rows= loops=)

  • Join Filter: ((t.m_code)::text = (tp_1.manufacturer_code)::text)
15. 0.000 0.000 ↓ 0.0

Seq Scan on te_manufacturer_in_shop tp_1 (cost=0.00..1.02 rows=1 width=252) (actual rows= loops=)

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

Seq Scan on te_manufacture t (cost=0.00..1.02 rows=2 width=66) (actual rows= loops=)

17. 0.000 0.000 ↓ 0.0

Hash (cost=2.04..2.04 rows=1 width=36) (actual rows= loops=)

18. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.00..2.04 rows=1 width=36) (actual rows= loops=)

  • Join Filter: (t_1.trend_code = tp_2.trend_code)
19. 0.000 0.000 ↓ 0.0

Seq Scan on te_trend t_1 (cost=0.00..1.01 rows=1 width=36) (actual rows= loops=)

20. 0.000 0.000 ↓ 0.0

Seq Scan on te_trend_in_shop tp_2 (cost=0.00..1.01 rows=1 width=36) (actual rows= loops=)

  • Filter: (shop_no = 1)
21. 0.000 0.000 ↓ 0.0

Hash (cost=2.07..2.07 rows=1 width=36) (actual rows= loops=)

22. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.00..2.07 rows=1 width=36) (actual rows= loops=)

  • Join Filter: (b.brand_code = bp.brand_code)
23. 0.000 0.000 ↓ 0.0

Seq Scan on te_brand_in_shop bp (cost=0.00..1.02 rows=1 width=36) (actual rows= loops=)

  • Filter: (shop_no = 1)
24. 0.000 0.000 ↓ 0.0

Seq Scan on te_brand b (cost=0.00..1.02 rows=2 width=36) (actual rows= loops=)

25. 0.000 0.000 ↓ 0.0

Hash (cost=111.05..111.05 rows=1 width=4) (actual rows= loops=)

26. 0.000 0.000 ↓ 0.0

Nested Loop (cost=5.09..111.05 rows=1 width=4) (actual rows= loops=)

27. 0.000 0.000 ↓ 0.0

Nested Loop (cost=4.66..54.85 rows=1 width=8) (actual rows= loops=)

28. 0.000 0.000 ↓ 0.0

Bitmap Heap Scan on te_category_in_shop e (cost=4.38..38.52 rows=1 width=4) (actual rows= loops=)

  • Recheck Cond: (shop_no = 1)
  • Filter: ((is_display <> 'F'::bpchar) AND (is_display = 'T'::bpchar) AND (access_scope = 'F'::bpchar))
29. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on pk_category_in_shop (cost=0.00..4.38 rows=13 width=0) (actual rows= loops=)

  • Index Cond: (shop_no = 1)
30. 0.000 0.000 ↓ 0.0

Index Scan using pk_category on category c (cost=0.28..8.31 rows=1 width=4) (actual rows= loops=)

  • Index Cond: (category_no = e.category_no)
  • Filter: ((depth >= 1) AND (depth <= 4) AND (display_type = ANY ('{P,A}'::bpchar[])) AND (parent_cate_no <> '-3'::integer))
31. 0.000 0.000 ↓ 0.0

Index Only Scan using pk_category_product on category_product cp (cost=0.43..45.61 rows=1,059 width=8) (actual rows= loops=)

  • Index Cond: ((shop_no = 1) AND (category_no = c.category_no))