인프런 커뮤니티 질문&답변

김민석님의 프로필 이미지

작성한 질문수

스프링 DB 1편 - 데이터 접근 핵심 원리

DB 락 - 개념 이해

락 획득을 시도하는 순서에 대한 질문입니다.

22.04.26 22:47 작성

·

342

0


DB락의 순서에 대해서 질문입니다.
세션1이 트랜잭션을 시작하고, 데이터를 변경하기 위해 update쿼리를 날리면 그 때 락을 획득하고, 획득했다면 실제로 쿼리가 수행되는 것인가요??
그러니까 일단 데이터 변경 쿼리를 실행해야 락 획득을 시도하는 것인거죠??
그래서 데이터 변경 구문을 날릴때가 아니고, 조회 시에도 락을 획득하고 싶다면 따로 select for update구문을 사용하는 것 맞나요?

답변 1

0

codesweaver님의 프로필 이미지

2022. 04. 27. 17:10

안녕하세요, alstjr706 님! 공식 서포터즈 codesweaver 입니다.

네 맞습니다. Update 전에 락을 획득합니다.

Select 이면서 락을 획득하려면 말씀하신 것처럼 select for update를 활용하면 됩니다.

감사합니다.