ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Spring boot - 지연 로딩
    공부/Spring 2023. 12. 6. 15:52

    orderItem이 3개 있는 order 조회시 생기는 쿼리문

        select
            orderitem0_.order_item_id as order_it1_4_0_,
            orderitem0_.count as count2_4_0_,
            orderitem0_.item_id as item_id6_4_0_,
            orderitem0_.order_id as order_id7_4_0_,
            orderitem0_.order_price as order_pr3_4_0_,
            orderitem0_.reg_time as reg_time4_4_0_,
            orderitem0_.update_time as update_t5_4_0_,
            item1_.item_id as item_id1_2_1_,
            item1_.item_detail as item_det2_2_1_,
            item1_.item_nm as item_nm3_2_1_,
            item1_.item_sell_status as item_sel4_2_1_,
            item1_.price as price5_2_1_,
            item1_.reg_time as reg_time6_2_1_,
            item1_.stock_number as stock_nu7_2_1_,
            item1_.update_time as update_t8_2_1_,
            order2_.order_id as order_id1_5_2_,
            order2_.meneber_id as meneber_6_5_2_,
            order2_.order_data as order_da2_5_2_,
            order2_.order_status as order_st3_5_2_,
            order2_.reg_data as reg_data4_5_2_,
            order2_.update_data as update_d5_5_2_,
            member3_.member_id as member_i1_3_3_,
            member3_.address as address2_3_3_,
            member3_.email as email3_3_3_,
            member3_.name as name4_3_3_,
            member3_.password as password5_3_3_,
            member3_.role as role6_3_3_ 
        from
            order_item orderitem0_ 
        left outer join
            item item1_ 
                on orderitem0_.item_id=item1_.item_id 
        left outer join
            orders order2_ 
                on orderitem0_.order_id=order2_.order_id 
        left outer join
            member member3_ 
                on order2_.meneber_id=member3_.member_id

    orderItem 엔티티 조회시 order_item 테이블과 item, orders, member 테이블을 조인해서 한꺼번에 가져오고 있다

    원하지 않는 데이터까지 같이 불러와져서 성능저하 문제가 생길 수 있다

     

    *해결방법

    FetchType.EAGER -> FetchType.LAZY

    즉시 로딩
    지연 로딩

    *적용후

    - orderItem안에 데이터를 사용할 떄만 join이 일어난다

    '공부 > Spring' 카테고리의 다른 글

    SpingBoot - 엔티티 공통 속성 공통화  (0) 2023.12.06
    Spring boot - 영속성 전이(cascade)  (0) 2023.12.06
    Spring boot - 연관 관계 매핑  (0) 2023.12.06
    Spring boot - 권한  (0) 2023.12.05
    Spring boot - Querydsl  (0) 2023.11.27

    댓글

Designed by Tistory.