gmelon

  • 홈
  • 방명록
  • github
  • 스크랩

개발 공부/DB 1

왜 서로 다른 값을 INSERT 했는데 데드락이 걸릴까?

최근 서로 다른 트랜잭션에서 겹치지 않는 FK 값을 가진 엔티티들을 동시에 삽입할 때 데드락이 발생한 케이스가 있었다. 분명 범위가 겹치지 않는데 왜 데드락이 걸리는 걸까?1. 결론: 유니크/외래 키 제약조건이 데드락을 유발한다핵심 원인외래 키(Foreign Key)이거나 유니크 제약 조건(Unique Constraint)이 걸려 있다면, 데드락 발생 확률이 비약적으로 높아진다.데드락 발생 메커니즘상황: FK 에는 유니크 제약 조건이 걸려있고 기존 데이터는 10, 20 이 존재한다고 가정. 격리 수준은 REPEATABLE READ.트랜잭션 A (INSERT 12): 유니크 체크를 위해 10~20 사이에 공유 잠금(S-Lock, 갭 락)을 획득트랜잭션 B (INSERT 14): 마찬가지로 10~20 사이에..

개발 공부/DB 2026.02.02
이전
1
다음
더보기
  • 분류 전체보기 (95) N
    • 개발 공부 (32) N
      • Java (6)
      • Spring (11)
      • DB (1) N
      • 알고리즘 (11)
      • 기타 (3)
    • 프로젝트 (12)
      • [앱] 플랭고 (4)
      • 졸업 프로젝트 (8)
    • 스터디 (0)
      • 자바 (30)
    • 기록 (15)
      • 후기, 회고 (9)
      • SSAFYcial (5)
      • 이것저것 (1)
    • etc. (6)
      • 모각코 (6)

Tag

자바 Collector, EnableAsync, 2024 회고, 2023 회고, 졸업프로젝트, Collector groupingBy(), Java Collector, 2024 상반기 회고, groupingBy mapping, 네트워크스터디, 한글프로그래밍언어, 프리티어 종료, 태초마을이야, AWS 프리티어 종료, 싸피 회고, java, groupingBy(), 자바, 비동기테스트, CJ올리브네트웍스 면접,

최근글과 인기글

  • 최근글
  • 인기글

최근댓글

방문자수Total

  • Today :
  • Yesterday :

Copyright © AXZ Corp. All rights reserved.

티스토리툴바