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
운영게시판
최근게시물
Informix Q&A 573 게시물 읽기
No. 573
감사합니다...(내용없음)
작성자
김재남
작성일
2001-03-07 09:43
조회수
5,836

>>박영길 님께서 쓰시길<<

 

:: 안녕하세요.

::

:: 인포믹스에서 isolation level은 4가지가 있습니다.

:: 자세한 설명은 인포믹스 SQL Syntax의 Set Isolation또는

:: Set Transaction부분을 보시면 됩니다. 대충 해석+설명을

:: 해보면

::

:: 1. dirty read(uncommitted read) - no logging mode default

:: 읽고자하는 모든 행에 락을 테스트하거나 걸지 않고 행의 데이터를

:: 읽는다. 다른 사용자가 트랜잭션을 시작하여 데이터가 수정되고

:: COMMIT를 하지 않은 상태에서도 상대가 수정한 데이터가 읽혀진다.

:: 이에따라 팬텀행(phantom row)를 읽을 수도 있다. 주로 읽기 전용의

:: 코드 테이블이나 수정상태로 읽혀도 무방한 경우 사용한다.

::

:: 2. committed read - logging mode default

:: 읽고자하는 모든 행에 락을 테스트하여 락을 걸 수 있을 경우 데이터를

:: 읽는다. 다른 사용자가 수정하고 있는 행일 경우 set lock mode to ?에

:: 따라 wait일 경우 커밋을 하거나 롤백을 할때가 지 기다리고 no wait일

:: 경우는 락이 걸려있다는 오류를 wait ###일 경우에는 해당 초만큼 기다

:: 려보고 그래도 락이 걸린 경우 오류를 반환한다. 락을 테스트만 하기

:: 때문에 읽힌 다음에 다른사용자가 수정할 수도 있다. 기본 격리모드로

:: 각각의 행이 서로 의존성이 없고 읽혀진 행의 값에 의존하여 update가

:: 되지 않을 경우 사용된다.

::

:: 3. cursor stablity

:: 읽어들이는 행에 공유 락을 사용하여 다른 사용자가 수정할 수 없도록

:: 한다. 락은 커서의 현재 행에 걸게 되며, 커서의 이동시 락을 풀고 다음

:: 커서 행에 걸게된다. 물론 수정을 하게 되면 트랜잭션이 종료할 때까지

:: 락을 걸게된다. 읽혀진 행의 값에 의존하여 update를 할 경우 사용된다.

::

:: 4. repeatable read - ANSI database default

:: select하는 모든 행에 공유락을 걸고 트랜잭션이 종료할 때까지 락을

:: 풀지 않는다. 하나의 사용자가 select한 모든 커서의 행을 다른 사용자가

:: 수정할 수 없다. 트랜잭션 내에서 반복된 select문은 1,2,3과는 달리

:: 동일한 결과를 select하게 된다. 많은 락을 사용함으로써 동시 사용성을

:: 떨어뜨린다.

::

:: 위의 설명은 테이블이 row lock을 사용할 경우에 해당하고 page lock(default)을

:: 사용할 경우 페이지 단위로 lock를 사용하게 되므로 인접한 행 모두 락이 걸릴 수

:: 있다. 이 경우 현재 사용자가 update중인 행이 아닌 다른 행을 읽을 경우 인접하여

:: 같은 페이지 내에 있다면 dirty read가 아닌 경우 읽혀지지 않는다.

::

:: logging mode/no logging mode는 데이터베이스 생성시 logging모드를 말하여

:: ANSI 데이터베이스는 데이터베이스 생성시 ANSI형태로 만들어진 경우를

:: 말합니다.

::

:: 자세한 내용은 위에서 언급한 바와 같이 SQL Syntax를 참조하기 바랍니다.

::

:: 그럼 수고하세요.

::

:: >>김재남 님께서 쓰시길<<

::

:: :: isolation level에 4가지가 있다고 하더군요..

:: :: 그중에서 dirty read을 제외하면 차이를 알수가 없네여...

:: :: 아시는 분이 있다면 알려 주시면 감사하겠습니다.

:: :: (인포믹스는 너무도 자료가 부족한것 같습니다. 저 같은 초보에게는 너무나도

:: :: 힘든 상황이죠....^^;)

:: ::

[Top]
No.
제목
작성자
작성일
조회
577iif2000 설치후 informix/etc/sqlhost.std의 변경내용
최진우
2001-03-08
5775
578┕>Re: iif2000 설치후 informix/etc/sqlhost.std의 변경내용
purple
2001-03-08 11:21:39
6269
579 ┕>Re: Re: iif2000 설치후 informix/etc/sqlhost.std의 변경내용
최진우
2001-03-08 12:52:26
6452
583  ┕>Re: Message not found에 관하여...
박영길
2001-03-09 21:53:54
6178
576INTEL LINUX(RedHat 6.2)에 IIF2000 설치 후 클라이언트 연결 성공하신분을 찾습니다.
이철우
2001-03-07
5680
580┕>Re: INTEL LINUX(RedHat 6.2)에 IIF2000 설치 후 클라이언트 연결 성공하신분을 찾습니다.
딧세
2001-03-08 13:35:12
5979
592┕>Re: INTEL LINUX(RedHat 6.2)에 IIF2000 설치 후 클라이언트 연결 성공하신분을 찾습니다.
딧세
2001-03-14 11:34:25
5945
574informix
ckkkk
2001-03-07
5392
575┕>Re: informix
이철우
2001-03-07 23:18:57
5896
570isolation level에 관해...
김재남
2001-03-06
5438
571┕>Re: isolation level에 관해...
박영길
2001-03-06 23:17:38
7395
573 ┕>감사합니다...(내용없음)
김재남
2001-03-07 09:43:40
5836
568-217 에러가 무엇인가요???
초보
2001-03-05
5234
569┕>Re: -217 에러가 무엇인가요???
oninit
2001-03-06 09:33:40
6389
567DBMS가 죽었을 경우에 SQLCODE값은 어떻게 셋팅되는지요????
oninit
2001-03-05
5332
566stored procedure내부에 새로운 procedure를 만들수 있습니까?
김재남
2001-03-05
5528
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.027초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다