성능 최적화(SQL 쿼리 힌트, 쓰기지연)

Mina Park·2022년 12월 3일
0

1. SQL 쿼리 힌트 사용

  • JPA는 데이터베이스 SQL 힌트 기능을 미제공 => 하이버네이트 직접 사용
  • 하이버네이트 쿼리가 제공하는 addQueryHint() 메소드 사용

2. 트랜잭션을 지원하는 쓰기 지연

  • SQL 실행시마다 네트워크 호출할 경우 많은 비용이 소모 => SQL을 모아서 한 번에 호출
  • JDBC가 제공하는 SQL 배치 기능 사용
  • 하지만, 이 기능을 사용하려면 코드의 많은 부분 수정이 필요 => 수백 수천 건 이상의 데이터를 변경해야하는 특수한 상황에 SQL 배치 기능 적용

  • 위와 같이 batch_size 가 50인 경우, 최대 50건까지 모았다가 배치 실행
    • 단, 같은 SQL인 경우에만 유효함
    • 중간에 다른 처리가 있을 경우 다시 SQL 배치가 실행됨

0개의 댓글