database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
ㆍSybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Sybase Q&A 2732 게시물 읽기
No. 2732
isolation 0에서는 Shared Lock을 발생시키지 않나요?
작성자
전현욱(halmac)
작성일
2009-06-10 17:29
조회수
7,654

테스트 중인데

set transaction isolation level 0

select  *
  from  TB_TEST
HOLDLOCK 

sp_lock

isolation level이 1일때는 lock으로 나타나는데

isolation level이 0일때는 lock으로 안나타나는군요



락을 발생 안시킨다고 생각이 들긴 하는데 확답이 필요해서요 ㅎ

isolation 0에서는 Shared Lock을 발생시키지 않나요?

이 글에 대한 댓글이 총 4건 있습니다.

holdlock / readpast /noholdlock /select into 키워드들은 는 isolation level 0에서 무시되던가 동작을 안할텐데요...>.<

Warning 메세지가 나오지 않던가요?

 

Dirty read 가 락은 잡지 않지만, 반면, commit 되지 않는 데이타를 읽어 오는

것이라서 예상치 못한 값을 읽어 올 수 있으니 주의해서 쓰심이 ^^

채연파파님이 2009-06-11 15:11에 작성한 댓글입니다. Edit

아.. 답변 참 감사하고요

WARNING: An explicit or implicit HOLDLOCK/NOHOLDLOCK/READPAST was specified for table 'TB_TEST'; however, since this is an isolation level 0 scan, the HOLDLOCK/NOHOLDLOCK/READPAST is ignored.

이게 발생하긴하는군요...

HOLDLOCK은 무시된다라...





제가 궁금한건...

1. select.... at isolation 1 <== 100초짜리 쿼리

2. insert   <== 한건

3. select.... at isolation 1 <== 1초짜리 쿼리


이런 순서대로 들어온다면

1번중에 2번은 shared lock 때문에 락이 걸리고

3번은 2번으로 인해 exclusive lock으로 락이 걸려서

결국 1번이 끝날때까지 기다려야 하는거 같아서



1. select.... at isolation 0 <== 100초짜리 쿼리 <== isolation 0으로 변경

2. insert   <== 한건

3. select.... at isolation 1 <== 1초짜리 쿼리

로 하게 되면 

1번이 락을 발생 안시켜서 

2번이 아무문제 없이 insert에 성공하고

3번도 바로 나타나지 않을까

라는 생각을 하게 되서 질문을 드렸습니다.



결국 제가 궁금한건

select.... at isolation 0 는 shared lock을 발생시키지 않는가 입니다.

전현욱(halmac)님이 2009-06-11 20:41에 작성한 댓글입니다.

네. (Dirty Read == UnCommited Read == select .. at isolation 0 )

채연파파님이 2009-06-12 09:09에 작성한 댓글입니다. Edit

원래 insert시에 ex 락이 발생해서 select가 안되지만 lsolation 0로 하면 dirty read이므로 select가 됨


당연 shared lock 발생하고요

위의 순서대로 


1. 진행중 2.진행중이라도 3번은 됩니다.


select시에는 insert 대기하나, select시 select는 됩니다.


2. isolation 0로 select 하실때는 clustered index가 있어야 합니다.

지연님이 2009-06-15 17:27에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
2776Sybase BCP 를 이용한 image 삽입 [3]
이철희
2009-06-17
6999
2756DISTINCT가 왜 안먹는지요.. 답변 부탁드려요.. [4]
박찬구
2009-06-16
6780
2733초보입니다. asa6.0을 사용는데 ASP에서 SQL문에 대하여 [3]
초보자
2009-06-11
6435
2732isolation 0에서는 Shared Lock을 발생시키지 않나요? [4]
전현욱
2009-06-10
7654
2728ASE 15.0.3 사용중인데 insert시에 저장이 안 되요 [1]
배나온펭귄
2009-06-10
7701
2679oracle에 있는 open_connection 같은건 없나요? [1]
알렉쇼
2009-06-09
7018
2652data복구 될까요
곽규석
2009-06-06
7541
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.020초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다