티스토리 뷰
반응형
SELECT 절을 이용해서 특정 row의 컬럼들에 대해 lock를 설정할 수 있음.
lock은 commit이나 rollback를 만날때까지 유요함.
lock row문은 형식은 아래와 같습니다.
------------------------------------------------------
select <lock를 설정할 컬럼리스트>
from 대상테이블
where 조건
for update of <lock를 설정할 컬럼리스트> nowait;
------------------------------------------------------
for update of 뒤에 컬럼명을 명시하지 않으면 해당 row 전체가 lock으로 설정됩니다.
그리고 11g 부터 좋은 lock row 문에 유용한 옵션이 추가되었는데요 바로
SKIP LOCKED 입니다.
즉 for update skip locked 라고 하면 현재 lock이 안걸린 row만 조회해서 lock를 거는
겁니다. 다른 세션에서 이미 lock이 걸린 row를 조회했다면 3초후에 에러가 발생하죠.
이런 경우에 대한 훌륭한 해결책인듯 싶습니다.
특정 값을 업데이트 하는데 DB가 아니 CS에서 처리하는 시간이 오래 걸릴 경우
사용하면 될것 같은데 아직 한번도 사용해 보질 못했네요.
lock은 commit이나 rollback를 만날때까지 유요함.
lock row문은 형식은 아래와 같습니다.
------------------------------------------------------
select <lock를 설정할 컬럼리스트>
from 대상테이블
where 조건
for update of <lock를 설정할 컬럼리스트> nowait;
------------------------------------------------------
for update of 뒤에 컬럼명을 명시하지 않으면 해당 row 전체가 lock으로 설정됩니다.
그리고 11g 부터 좋은 lock row 문에 유용한 옵션이 추가되었는데요 바로
SKIP LOCKED 입니다.
즉 for update skip locked 라고 하면 현재 lock이 안걸린 row만 조회해서 lock를 거는
겁니다. 다른 세션에서 이미 lock이 걸린 row를 조회했다면 3초후에 에러가 발생하죠.
이런 경우에 대한 훌륭한 해결책인듯 싶습니다.
특정 값을 업데이트 하는데 DB가 아니 CS에서 처리하는 시간이 오래 걸릴 경우
사용하면 될것 같은데 아직 한번도 사용해 보질 못했네요.
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 고체 향수
- 증권정보포털
- 매직 트랙패드2
- 르세라핌
- 루미큐브 종류
- 카카오 에드
- node.js
- Life Chair
- 빈센트 반 고흐
- 화분벌레
- 로니카 BCS
- 배당급
- yugabyteDB
- 별이 빚나는 밤
- 오미크론
- 브리다 정수기
- GKRS
- VARIDESK
- 솔리드 쿨론
- 파나소닉 비데 DL-EH10KWS
- 홈 오피스
- Pixel Pals
- 남설 팔찌
- JMW 헤어드라이기기
- 유가바이트디비
- 별잉 빛나는 밤
- Sybase IQ
- weka
- 톡토기
- 코라나 19
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
글 보관함