MariaDB 트랜잭션 격리수준과 데드락 원인 진단법재고 차감이나 포인트 적립처럼 여러 트랜잭션이 같은 행을 동시에 건드리는 로직에서 Deadlock found when trying to get lock 예외를 만난 적이 있을 겁니다. 인덱스도 걸려 있고 코드도 틀린 곳이 없어 보이는데 왜 이런 일이 생길까요. 원인은 대부분 트랜잭션 격리수준과 잠금 순서에 있습니다.트랜잭션 격리수준 4단계SQL 표준은 네 가지 격리수준을 정의합니다. 격리수준이 낮을수록 동시성은 좋아지지만 아래 세 가지 이상 현상이 발생할 여지가 커집니다.격리수준Dirty ReadNon-repeatable ReadPhantom ReadREAD UNCOMMITTED발생발생발생READ COMMITTED방지발생발생REPEATABLE READ방..