목차
접기
728x90
반응형
SELECT ~ FOR UPDATE
SELECT ~ FOR UPDATE를 실행하면 특정 세션이 데이터에 대해 수정을 할 때까지 LOCK이 걸려 다른 세션이 데이터에 접근할 수 없다고 한다.
위 이미지를 참고하면 A 사용자가 SELECT ~ FOR UPDATE를 실행하여 잔여 좌석정보를 SELECT 했고 해당 ROW는 다른 세션들이 접근할 수 없는 LOCK 에 걸린다. 이 때, B가 SELECT로 접근하려 해도 A가 LOCK을 가지고 있기에 A가 LOCK을 풀어줄 때까지 대기상태에 빠진다.
이후 A가 잔여좌석 수를 UPDATE하면서 LOCK이 풀리고 B는 SELECT 및 UPDATE가 가능해진다.
아래 블로그에서 참고한 자료로 실무에서 작업 해결에 큰 도움을 받았다ㅠㅠ....
저 쿼리 두 단어로...,, deadlock 해결...
https://dololak.tistory.com/446
728x90
반응형
LIST
'SQL' 카테고리의 다른 글
[ MySQL ] 조인 업데이트(join update, update join) 쉬운 예제 (0) | 2022.05.11 |
---|---|
[ Mysql ] mysql에서 like를 in처럼 사용하는 방법 (0) | 2022.04.22 |
[ mysql ] 테이블 engine 확인하는 방법 (0) | 2021.12.07 |
데이터 순서를 내가 원하는 특정 순서로 지정하는 방법 (0) | 2021.11.26 |
[ mysql ] mysql 다른 데이터베이스 간 테이블 복사하는 방법 (0) | 2021.11.18 |