[SpringBoot/JPA] 조회 성능 개선하기 - FULLTEXT Index 사용
·
Database/JPA
부트캠프 과제 구현 중 기록100만 건의 데이터를 생성해 저장하고, 목록을 조회 하기목록 조회 시 성능을 개선하기 위한 방법 기록대용량 데이터 생성 후 저장: https://rvrlo.tistory.com/entry/SpringBootJPA-JDBC-Batch-Insert를-통해-대용량-데이터-저장하기      🔎 과제 분석저번 글에서 대용량 데이터를 생성하여 테이블에 저장했으니, 이번에는 조회 성능을 개선해보기로 한다.조회 속도를 개선하기 위해 여러 방법을 고려해보라고 했고, 제일 먼저 떠오른 것은 인덱스를 이용하는 것이었다.   ✨ MySQL - Searchall, index: 테이블 전체 스캔(인덱스x)range: 인덱스를 사용한 범위 검색fulltext: MATCH .. AGAINST 구문을 사..
[SpringBoot/JPA] JDBC Batch Insert를 통해 대용량 데이터 저장하기
·
Database/JPA
부트캠프 과제 구현 중 기록100만 건의 데이터를 생성해 저장하고, 목록을 조회 하기대용량 데이터를 저장하기 위한 방법 기록데이터 조회 성능 개선: https://rvrlo.tistory.com/entry/SpringBootJPA-조회-성능-개선하기-FULLTEXT-Index-사용      🔎 과제 분석100만 건의 데이터를 저장하기 위해 랜덤한 값을 생성해야 했다.먼저 목표인 users 테이블은 pk인 id와 unique로 지정된 email이 존재한다.id는 auto_increment로 지정되어 상관없지만, 공통된 값이 나오면 곤란할 email을 랜덤하게 생성해야 했다. 그리고 과제에 주어진 조건은 → 닉네임은 랜덤으로 지정하고, 동일한 닉네임이 들어가지 않도록 하는 것  결국 email과 nickn..
[JPA] persist(), flush() 그리고 commit() 어떻게 DB에 반영될까?
·
Database/JPA
영속성[명사] 영원히 계속되는 성질이나 능력.- 국립국어원 표준국어대사전  영속성 컨텍스트 Persistence ContextEntity 객체를 영속성 상태로 관리하는 공간.자바에서 작성된 Obejct를 DB Table에 저장하기 위해 사용한다.  JPA를 공부할 때 만나는 '영속'이라는 말이 있다.영속 상태로 둔다, 영속을 시킨다, 영속성 컨텍스트에 저장한다 … 등등 '영속성'이라는 말은 영원히 계속되는 성질이나 능력이라는 의미를 가지고 있다.말 그대로 DB와 동기화하여 오래 지속 되도록 하는 것이다.   ✔️EntityManagerEntityManager를 통해서 Persistence Context에 접근할 수 있다.EntityManager를 사용하는 방법에 대한 설명 글이 아니니 사용하는 방법은 다..