모르지 않다는 것은 아는것과 다르다.

Database 22

조인

조인의 종류 먼저 INNER 조인과 OUTER 조인을 비교해보자 INNER JOIN : 공통적인 부분만 select 한다. LEFT OUTER JOIN 조인 기준으로 왼쪽에 있는 데이터를 전부 select 한다. 이제 JPQL 에서는 join을 어떻게 처리하는지 알아보자. 내부 조인 SELECT m FROM Member m [INNER] JOIN m.team t 이 경우 member는 있고 팀이없으면 해당 데이터가 나오지 않는다. 외부 조인 SELECT m FROM Member m LEFT [OUTER] JOIN m.team t member 를 기준으로 team 을 붙인다. -> 테이블의 가로[컬럼들]가 넓어진다. 이 경우는 member는 있고 팀이 없어도 데이터가 나온다. -> team 은 null로 ..

Database 2022.02.27

Spring Data Jpa Bulk Insert

개요 업무를 진행하면서 대량의 데이터를 대량으로 생성해서 일괄로 저장할 일이 있었다. 개발을 진행하는 과정에서 데이터를 하나하나 insert 하다보니 성능적인 이슈가 있었고, bulk insert와 같은 키워드로 구글링을 해보니 Hibernate Batch Insert라는 내용을 찾을 수 있었다. batch insert 란? batch insert 는 대량의 SQL Statement 를 하나의 구문으로 처리할 수 있는 방법입니다. 아래와 같이 SQL 저장소에는 등록 쿼리가 2건이 저장된다. 트랜잭션을 커밋 하면 엔티티 매니저는 우선 영속성 컨텍스트를 플러시 한다. 플러시는 영속성 컨텍스트의 변경 내용을 데이터베이스에 동기화하는 작업인데 이때 등록, 수정, 삭제한 엔티티를 데이터베이스에 반영한다. 이렇게 ..

Database 2022.02.27