by hun [SQL Query] lock shared lock exclusive lock [2021.01.25 22:53:12]
안녕하세요. lock 관련 공부하다 이해가 안가는게 있어서 질문합니다. 아래 쿼리는 MariaDB 10.5.8 에서 테스트 하였습니다. start transaction; select * from User where ID=2 lock in share mode; update User set USERNAME = 'abc' where id=2; commit;
위와 같은 트랜잭션이 있을때 select 문에서 User 테이블의 ID가 2번인 row에 shared lock이 걸린 뒤 update 문에 의해 exclusive lock이 걸리는 건가요 아니면 shared lock이 그대로 유지가 되는 건가요?
shared lock과 exclusive lock는 서로 배타적이라 shared lock 유지될 것이라 추측하는데, 정확한 답을 못찾아서 질문 합니다.
귀한 시간 내주셔서 감사합니다