DBeaver에서 제공해주는 기능 중 Transaction 기능이 있다.
- Auto Commit
- Manual Commit
- Smart Commit
각각의 기능이 무엇인지, 그리고 Auto-Commit을 해제하는 방법을 알아보자.
Transaction 이란?
쿼리를 임시로 실행시켜주는 기능이라고 생각하면 된다.
insert, update, delete 쿼리를 실행할 때 실행 결과가 테이블에 바로 적용되지 않게 해주는 안전장치이다
영단어 클릭! ☞ TRANSACTION 의미
* 트랜잭션 쿼리 사용 방법
BEGIN(START) TRANSACTION
ROLLBACK TRANSACTION 혹은 COMMIT TRANSACTION
기능 정의
1. Auto-Commit (비추천)
: 자동으로 commit(적용)을 해주는 기능이다.
DBeaver 에서 쿼리문 실행 시 해당 테이블에 바로 결과가 적용이 되는 것이다.
조회를 할 때는 데이터가 변경될 일이 없어서 괜찮지만 insert, update, delete문을 실행할 때는
위험할 수 있다.
특히 update, delete문은 where조건을 잘못 설정하면 엉뚱한 데이터를 변경하거나
삭제할 수 있기 때문이다.
2. Manual Commit (추천)
: 모든 쿼리 (select, insert, update, delete)의 결과를 수동으로 적용시켜야한다.
insert, update, delete를 사용할 때는 특히 유용할 것이다.
예를 들어 delete문을 실행 후 select로 삭제됬는지 확인을 하면 쿼리 결과 테이블로 확인할 수가 있다.
이때 해당 테이블의 데이터는 전혀 변경이 되지 않기 때문에 delete문을 잘못 만들었다 해도
문제가 되지 않을 것이다.
확인 후 commit을 클릭 해야지만 데이터에 변경된 사항이 적용이 된다.
3. Smart Commit (비추천)
: insert, update, delete일 경우에만 적용을 막아주는 기능이다.
select일 경우에는 데이터가 변경될 일은 거의 없으니 굳이 Transaction을 사용할 필요가 없다.
그렇기 때문에 Smart Commit은 데이터가 변경되는 쿼리일 경우에믄 Transaction을
실행해주는 기능이다.
※ Auto Commit 해제하는 방법
auto-commit을 변경하는 두 가지 방법이 있다.
1. 도구모음 (상단 메뉴 바)에서 변경하기
T모양 옆의 아래 화살표를 누른 후 Manual Commit을 선택해주면 된다.
단, DBeaver commit은 auto-commit이 기본값이기 때문에 이 방법을 사용하면
수시로 변경해주어야 한다.
2. 기본값 해제하기
상단 메뉴 바에서 원도우 > 설정 > 연결유형 들어가준다.
Auto-Commit by default가 체크되어 있을 것이다. 체크를 해제해주고
Apply and Close를 해주면 적용이 된다.
이미 열려있는 쿼리문은 직접 바꿔주어야 하지만 설정 이후에 새로 생성하는 쿼리문은
Manual Commit이 적용될 것이다
※ auto-commit, manual-commit 변경 되었는지 확인하기
상단 메뉴 바에 None 이라는 글씨가 있으면 Manual Commit, Auto라는 글씨가 있으면 Auto Commit이다.
※ commit 하기
commit 메뉴 왼쪽에 있는 버튼이다.
커밋 : 쿼리문 적용 (COMMIT TRAN)
롤백 : 적용 취소 (ROLLBACK TRAN)
'Programing > DB' 카테고리의 다른 글
Mybatis 문법 (0) | 2022.12.05 |
---|---|
SQL 문법을 알아보자 (0) | 2022.12.02 |
다중 테이블에서 데이터를 한번 출력하는 방법 (0) | 2022.11.30 |
쿼리 - null 체크하기 (0) | 2022.11.30 |
DBeaver 쿼리 history 보는 방법 (0) | 2022.11.14 |