공부한것들을 정리하는 블로그 입니다.
SELECT FOR UPDATE 구문 DB Exclusive LOCK 이슈 본문
반응형
* 해당 글은 계속 수정 예정입니다.
최초 작성일 2022.03
마지막 수정일 2023.04
# SELECT ~ FOR UPDATE
SELECT FOR UPDATE 구문은, 동시성 제어를 위하여 특정 데이터 ROW에 대해 배타적 락(Exclusive LOCK)을 거는 기능입니다.
ex) 영화관 예매 시스템의 잔여좌석 조회 등에 사용 가능
보통은 DB보안 관련 툴(DBSafer 등)을 사용중인 경우에 DDL, 운영DB로의 DML, LOCK 등이 차단되어야 마땅하나
위 SELECT FOR UPDATE 구문 등은 차단되지 않아 배타적 락이 걸리는 경우가 있습니다.
즉, 개발자가 해당 쿼리를 잘못 수행 할 경우, 세션이 유지되는 동안에는 해당 테이블/ROW에 락이 걸리게 될 수 있습니다.
개발자 입장에서 로컬PC에서 쿼리를 수행 할 경우, 위와같은 상황이 발생하지 않도록 주의하도록 합시다.
# 참고
1. 본인 블로그 : (참고사례)SELECT FOR UPDATE 구문 DB Exclusive LOCK 이슈
https://drsggg.tistory.com/545
반응형
'경력 실무경험 > 실무 주제' 카테고리의 다른 글
배치컨테이너 배포와 스케줄러 실행이 동시에 진행되는 것에 주의(InvalidGlobalDeployVersionException, InvalidGlobalDeployVersion, LinkageError) (0) | 2023.04.25 |
---|---|
계좌이체 서비스의 은행점검시간으로 인한 딜레이 발생시 해결방안 (은행사 시스템취소) (0) | 2023.04.25 |
SimpleDateFormat 사용시 주의사항 (년도 포맷 주의사항) (0) | 2023.04.25 |
서버 점검 및 Scale Up 상황에서의 고려사항 (ActiveActive -> ActiveStandby) (1) | 2023.04.25 |
무중단 DB/서버 Scale Up 진행시, 라운드로빈 설정이라면 유의 할 것(L4제어 무중단 DB Scale Up 중 실거래 발생) (0) | 2023.04.25 |
메시지 길이 설정 방식(End of Data)과 데이터 코릴레이션 오류 (0) | 2023.04.25 |
쿼리의 결과값이 없어 Empty Resultset 발생하는 경우(Illegal operation, EmptyResultException) (0) | 2023.04.21 |
전각문자를 반각문자로 치환 (0) | 2023.04.21 |
Comments