lock의 순서를 지켜주자는 말의 뜻
180
작성자 없음
안녕하세요? 질문이 있습니다.
6분 20초쯤 "여러 데이터를 수정할 때는 발생하는 lock의 순서를 지켜주자" 라는 말을 이해하지 못했습니다.
좀 더 자세히 설명 가능하실까요?
트랜잭션 X에서는 A -> B 를 수정한다.
트랜잭션 Y에서는 B -> A 를 수정한다.
Deadlock 발생할 가능성이 있음은 이해했습니다.
여기서 lock의 순서를 지킨다는 것이 무슨 뜻일까요?
트랜잭션 Y도 A -> B 흐름으로 수정하도록 만들라는 뜻인가요?
그렇다면 이해는 되지만, 트랜잭션 Y가 B -> A 로만 수정해야하는 상황이라면 어떻게 해소해야 하는지 궁금합니다.
감사합니다 :)
답변 1
0
일단 Lock에 대한 부분은 일반적인 서비스를 개발하시는데에 있어서 큰 문제가 발생하지 않습니다.
그러기 떄문에 사실 실무에서도 이러한 Lock에 대한 제어를 신경쓰고 쿼리를 작성하지는 않습니다.
하지만 특수한 케이스에 대해서 Lock을 얻고 처리를 해야 하는 경우도 있습니다.
예를들면 모든 데이터 수정이 Atmoic하게 동작을 해야 하는 부분이 있는것이죠
예를들면 티켓팅 서비스 정도가 생각이 드네요
이렇게 Lock을 획득하고 제어를 해야 하는 상황에 대해서 표현을 하고 싶어서 저렇게 설명을 드렸는데 조금 혼동이 오실 수 있는 부분인거 같네요 ㅠㅠ 혼동을 드리게 되어서 죄송합니다.
Lock을 따로 제어하지 않는다면 일반적인 쿼리에 대해서 큰 문제없이 작성하셔도 됩니다. 그래서 막 심각하게 모든 부분을 고려하시지는 않아도 됩니다.
모든것은 MySQL의 옵티마이저에게 책임을 떠넘기기로 하죠 ㅎㅎ
어느정도 도움이 되셨을까요?? 질문 감사합니다 :)
강의 DB데이터 질문
0
38
1
극단적으로 from-to가 12일 이고, valid_to가 13일이면?
0
36
1
11강 [실습] Docker로 MySQL1 분만에 실행하기
0
60
2
11강 [실습] Docker로 MySQL1 분만에 실행하기
0
51
2
선생님 샤딩에 대한 강의도 좀 해주세요
0
43
1
몽고DB CAP 이론 관련
0
51
2
아니 이거 갑자기 데이터베이스가 사라졌어요
0
51
1
기타 영역 중 언두로그
0
63
1
코드 깃허브는 없을까요?
1
50
2
실전튜닝 4 질문 - group by 순서와 index 순서
0
57
1
@Modifying에 관하여
1
55
1
DB 쿼리 최적화 시 DB 처리와 애플리케이션 처리의 기준이 궁금합니다
0
56
1
실무에서의 인덱스 관리 방법이 궁금합니다
0
67
1
Issuance 테이블에 status, couponId 인덱스가 꼭 필요할까요?
2
68
1
문제와 풀이2 1번문제
0
50
1
부하 테스트 시 설정 관련 질문드립니다
1
97
2
build 시 에러 해결방법 공유(docker.desktop 업데이트 -> 의존성 버전 수정)
0
88
2
sakila 실전 17번 문제
0
48
1
복합인덱스 설계 질문
0
115
1
Order BY 강의 12분 질문
0
134
2
Deadlock Case 4분 45초 질문
1
193
1
[Skip Locked For Session] 12:14초 내용 관련 질문
1
365
1
안녕하세요, 멀티컬럼인덱스 개념 후반부 내용이 이해가 가지 않아 질문 드립니다.
2
466
2
안녕하세요 좋은 강의 감사합니다. 혹시 실습 코드는 따로 제공 안되나요??
2
316
1





