반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- error 2002 (hy000): can't connect to local mysql server through socket '/tmp/mysql.sock' (2)
- sql사이트
- dto매핑우선순위
- 쿼리실행순서
- 중복컬럼dto매핑
- IntelliJ
- ls -lgaf
- 컬럼명중복
- intellij 플러그인 개발
- 오라클쿼리테스트사이트
- 쿼리테스트사이트
- hibernate 쿼리실행 순서
- 쓰기지연저장소
- spring cloud stream
- port&adapter architecture
- Flush
- Java
- Stream
- 포트앤어댑터 아키텍처
- 쿼리실행사이트
- Kafka
- Oracle
- 설치없이쿼리실행
- 쓰기지연sql저장소 쿼리실행순서
- 자바
- group by group by rollup 차이
- 스트림
- sql 테스트 사이트
- JPA
- 쿼리사이트
Archives
- Today
- Total
목록쓰기지연저장소 (1)
개린이 탈출기
[JPA] 쓰기 지연 SQL 저장소 flush 시, 쿼리 실행 순서
JPA 를 활용하여 데이터를 관리하는 중인데 동일한 unique key 에 대한 delete 와 save 메서드를 사용하였더니 Duplicate Key 문제가 발생하였다. 결론적으로는 jpa를 통해 delete 관련 메서드를 호출해도 db에 동기화가 바로 일어나지 않고(직접 flush를 하거나 db 동기화가 일어나도록 하지 않는다면) 쓰기 지연 SQL 저장소에 쌓아두고 나중에 isnert 문과 함께 Db에 쿼리문을 보내준다. 이때 dbms 가 쿼리를 실행하기 전에 각 쿼리를 평가(최적화 및 실행 계획 등..)하는 과정에서 uniqueKey가 중복되는 insert문이 존재하므로 여기서 문제가 발생했던 것이다. 문제 원인실제 코드는 다음과 같다.public class MyEntity { @Id ..
Database ~ SQL
2024. 11. 20. 16:07