본문 바로가기
반응형

SQL
반응형
5

[JPA] EntityManager Cycle management 실무 개발을 진행하면서 새벽 단순 DB 업데이트로 DB 서버를 재부팅을 진행한 적이 있다.노드 하나씩 재시작하는 형태라 당연히 failover가 되어 무중단으로 서비스가 될 것이라 생각했으나 알수 없는 Connection 실패로 어플리케이션을 다시 띄우는 조치를 진행했었다. 이에 이유를 한번 분석해보고자 한다. 당시 비슷한 환경 재현을 위해 간단히 DB 설정은 connection 5초  타임아웃과 그 당시 JPAQueryFactory 설정만 동일하게 하였고 쿼리는 JPA 그리고 QueryDSL 두개의 조합으로 구성하였다.  application.ymlspring: datasource: url: jdbc:postgresql://localhost:5432/tms username.. 2024. 10. 4.
[DB] Table간 Join시 Inner Join과 Left Join 후 where의 차이 실무에서 데이터 조회 시 Spring JPA 및 QueryDSL을 활용하고 있는데 조회 성능이 좋게 나오지 않아 조금 더 나은 조회 성능을 위해 (이를 최적화라 부르기에는 민망했다...) QueryDSL 코드를 이것 저것 뜯어가보면서 수정을 했다. 특히 코드를 수정하고 테스트를 진행하던 중 수정 하기 전에는 데이터가 잘 나왔던 것이 수정 한 후에는 데이터가 나오지 않아 어디가 잘못 된 것인지 고민하고 끙끙 거리고 있었는데 파트원들의 집단 지성으로 문제점을 발견하였다. 지금 생각해보면 별 것 아닌 문제였는데 그 때는 왜 안보였는지 모르겠지만 조회했을 때 원인은 조회 시 Table 조인을 할 때 Table Join on이었던 것이 Table Join where로 수정되어 있었던 문제였다. 그래서 이번 포스팅.. 2021. 10. 2.
[프로그래머스 7daySQL 챌린지] 3일차 -2 이름이 없는 동물의 아이디 https://programmers.co.kr/learn/courses/30/lessons/59039 코딩테스트 연습 - 이름이 없는 동물의 아이디 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr 문제 설명 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAM.. 2020. 9. 10.
[프로그래머스 7daySQL 챌린지] 3일차 -1 최솟값 구하기 https://programmers.co.kr/learn/courses/30/lessons/59038 코딩테스트 연습 - 최솟값 구하기 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr 문제 설명 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_.. 2020. 9. 10.
[프로그래머스 - 7daySQL 챌린지] 2일차 -1 아픈 동물 찾기 https://programmers.co.kr/learn/courses/30/lessons/59036 코딩테스트 연습 - 아픈 동물 찾기 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr 문제 설명 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX.. 2020. 9. 9.