728x90
요즘 JPA를 공부를 하다보니 머리가 어질어질합니다.
JPA가 어느정도 익숙해질 때 쯤 되니, 튜닝, 그리고 더 세세한 사항들까지 알아보다보니, 끝도 없는 것 같습니다.
Batch Size, IN 쿼리, 즉시 로딩, 지연 로딩, fetch & 조인 등등 ...
위와 같은 내용들을 보고 나니 현타가 찾아왔습니다..
그제서야 Spring을 왜 다들 어려워하는 지 알 것 같더라고요...
그리고 현재 프로젝트를 실행했을 때 발생하는 쿼리들을 보니...
Hibernate:
select
member0_.id as id1_2_,
member0_.email as email2_2_,
member0_.name as name3_2_,
member0_.nickname as nickname4_2_,
member0_.password as password5_2_,
member0_.provider as provider6_2_,
member0_.salt as salt7_2_
from
Member member0_
where
member0_.email=?
Hibernate:
select
refreshtok0_.member_id as member_i2_4_0_,
refreshtok0_.token as token1_4_0_
from
RefreshToken refreshtok0_
where
refreshtok0_.member_id=?
Hibernate:
insert
into
RefreshToken
(token, member_id)
values
(?, ?)
일단 제정신은 아니라는 것을 알았습니다. 그리고 시간도 오래 걸리고...
그래서 N+1문제를 해결하고 페이징 처리를 알아보니...
넘치고 넘치는 자료들...
우선 해당 내용은 DB와 관련되어 있어 가장 많이 사용하는 부분이라고 생각이 들어 공부를 차근차근하고자합니다.
응답 속도 개선 등 역시 공부해서 적용하면 좋겠지만, DB가 가장 속도 개선에 중요하고, 가장 내용도 많고, 방법도 많고,
모르면 탈 나는... JPA 관련 글들을 읽으며 차근차근 해결해나가고자 합니다.
Spring으로 웹 개발하신 많은 개발자 분들을 다시 한 번 존경하게 되는 계기가 되었습니다.
Spring 공부하시는 분들 파이팅입니다...
이상입니다.