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
운영게시판
최근게시물
CUBRID Q&A 172 게시물 읽기
No. 172
cubrid에 질의시 commit 과 rollback 에 관해서..
작성자
이상호(search5)
작성일
2006-07-20 13:07
조회수
6,461

cubrid 에 select , insert, update, delete 을 시행했을때

select에도 반드시 commit 과 rollback을 해주어야 하나요?

 

제가 상대로 하고 있는게 cubrid 이전 버전인 unisql 입니다..

아시는 분.. 답변 부탁드려요.

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

*CUBRID Q&A의 내용을 그대로 옮김니다.

기본적으로는 lock level 에 따라서 commit/rollback 을 통한 transaction 정리가 필요해집니다. 일반적으로 DB에 write 행위가 일어났을때는 반드시 transaction 정리를 해주어야 하며, read 행위시에도 lock 이 발생하는 lock level 을(REPEATABLE READ 이상) 일 경우에도 transaction 을 정리해 주어야 합니다.
지금 질문하신 경우는 JDBC/ODBC/PHP 등을 사용하는 경우를 말씀하시는 것으로 보이며, 저희 제품은 구조상 3-tier 형태를 취하고 있읍니다. 즉 driver 가 바로 DB server 로 접근하는 것이 아니라 중간에 CAS 를 두어 CAS에서 connection 관리등을 통한 서비스를 하고 있읍니다.
문제는 CAS 의 숫자를 무한정으로 할 수가 없으므로 어느정도 제한된 숫자로 서비스를 하다 보니 어느 한 driver 가 오래동안 한 CAS 를 점유(한 transaction 동안)하게 되면 다른 driver 들이 서비스를 받을 기회가 적어진다는 것입니다.
현재 select 만을 수행하더라도 transaction 의 시작으로 간주하기때문에 한개의 CAS 가 한개의 driver 에 점유되어 버립니다.
따라서 일반적은 상황에서는 auto commit 을 on 으로 하시고, insert/update/delete 의 상황에서만 auto commit 을 off 로 하신후 commit/rollback 처리를 하시면 됩니다.
만약 auto commit 이 제공되지 않는다면 불편하시더라도 select 사용후 바로 commit 을 하도록 하셔야 합니다.

답변입니다.님이 2006-07-20 21:48에 작성한 댓글입니다.
이 댓글은 2006-07-20 21:48에 마지막으로 수정되었습니다. Edit
[Top]
No.
제목
작성자
작성일
조회
201Auto_increment 와같은 기능을 하는 것은? [1]
정원호
2006-11-13
5580
200visual-sql 접속이 안됩니다.. [2]
김성욱
2006-11-09
5608
196cubrid Environment variable 질문이요! [1]
김성욱
2006-11-06
4899
172cubrid에 질의시 commit 과 rollback 에 관해서.. [1]
이상호
2006-07-20
6461
171기능에 대한 몇가지 질문입니다... [4]
조희수
2006-07-03
6149
169오라클의 sequence나 MySQL의 auto_increment와 같은 기능을 알고 싶습니다. [2]
허정수
2006-06-24
8011
168큐브리드 무료 다운로드 질문 [1]
개발자
2006-06-23
7291
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.052초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다