본문 바로가기

Cascade2

[트러블슈팅] JPA의 deleteAll() 대신 IN을 사용한 성능 최적화 📄 Describe작업 대상지금까지 별 생각없이 JPA의 일 대 다 관계, 엔티티들에 관해 JPA의 deleteAll()를 메소드를 사용했었다.하지만, API 테스트 중 로그의 쿼리를 확인하니 관련있는 엔티티 개수만큼 delete 쿼리가 나가는 것을 확인했다. FitTrip의 커뮤니티 서비스 기준 포럼 : 파일 -> 일 : 대 관계애서 포럼 한개를 삭제했을 때 파일의 개수만큼 delete 쿼리가 나간 것이다.이는 만약 한 포럼에 수십, 수백개의 파일이 존재한다면 쿼리 성능에 문제가 있을 수 있겠다는 생각이 들었다. 따라서, 단순하게 JPA의 deleteAll()를 사용하는 것이 아닌 IN을 사용하여 배치 삭제를 해야겠다는 생각이 들었다.  deleteAll() 예시 사진✅ Tasks작업 세부 내용위에서.. 2024. 6. 25.
[토이 프로젝트] Spring + Redis + S3 + 이메일 인증 + Docker + CI/CD - 1 2024-02-02 오늘의 작업을 정리하면, 1. ERD 설계 2. Git Repository Create 3. Spring Project 기본 세팅 및 패키지 설계 4. Entity 제작 5. Redis 설치 및 Spring에 Config 세팅이다. 첫 번째, ERD 설계 https://dbdiagram.io/d/ToyProject-65bc90f1ac844320ae493fa3 dbdiagram.io - Database Relationship Diagrams Design Tool dbdiagram.io DB ERD를 설계했다. 우선, 중점적인 Entity를 설계했다. BaseEntity를 두어 create_at, modified_at를 다른 엔티티가 상속받게 하였다. 또한, 이메일 인증을 위해 User .. 2024. 2. 3.