- 에 따르면 InnoDB의 경우 별도
- 데드락 탐지가 활성화 되어 있는 경우( 기본 설정임 )
설정 => innodb_deadlock_detect 관련 변수임
- 데드락 교착에 빠진 경우 하나의 희생양 트랜잭션을 롤백하여 데드락에서 빠져나가도록 설정한다고 한다.
- 데드락 탐지가 활성화 되어 있는 경우( 기본 설정임 )
그렇다면, 데드락에 대한 고민을 어플리케이션 단에서 할 필요는 없는건가?
- 그건 아닌 것같다.
- DB 설정에 따라 데드락에 걸릴 수도 있기에, DB 영역과 어플리케이션 영역은 서로 반 독립적이고 생각하고, 개발을 해야한다.
- 결국 비관적락이나 낙관적락 이든 어플리케이션 단에서는 항상 고민하면서 만약의 상황을 대비해야한다.
추가
- 데드락에 빠진 마지막 트랜잭션에 대한 확인은
SHOW ENGINE INNODB STATUS
- 으로 가능하다.
추가
- 데드락 탐지 관련 기능은 MYSQL 5.7 문서부터 보인다.
- 아마 5.6 7 전후 시기에 추가된 기능같다.
Uploaded by N2T
'DB > Mysql' 카테고리의 다른 글
__Mysql 상의 LocalDateTime 관련 기본값 오류 - Invalid Default value for 발생 해결__ (0) | 2024.02.19 |
---|