MySQL | 트랜젝션 기능(Transaction)
페이지 정보
작성자 100K5 작성일16-04-20 16:46 조회39,264회 댓글0건관련링크
본문
저장 엔진이란?
- MySQL의 기능은 크게 두 가지로 나눌 수 있는데,
첫 번째는 접속 기능과 SQL 문의 내용을 사전에 조사하는 기능, 즉 데이터베이스의 상위 부분이고,
두 번째는 그 상위 부분의 지시를 받아 실제로 검색이나 파일을 조작하는 기능의 하위 부분이다.
이 하위 부분을 '저장 엔진' 이라고 한다.
1. 저장 엔진 확인하기
> SHOW CREATE TABE 테이블이름;
2. 저장 엔진 변경하기
> ALTER TABLE 테이블이름 ENGINE = 엔진이름;
ex) ALTER TABLE tb ENGINE = INNODB; ( or MyISAM)
트렌젝션이란?
- 여러 단계의 처리를 하나의 처리처럼 다루는 기능을 트랜젝션(Transaction) 이라고 한다.
트랜젝션의 실행결과를 데이터베이스에 반영하는 것을 커밋(Commit)이라 하고,
반영하지 않고 원래 상태로 되돌리는 것을 롤백(Roll-back) 이라고 한다.
3. 트랜젝션 시작
> START TRANSACTION;
(또는 BEGIN 이나 BEGIN WORK를 입력해도 된다.)
ex) 트렌젝션 시작 이후 DELETE 등의 문으로 테이블의 레코드를 삭제하면 이 시점에서
테이블의 일부 기능에 록(LOCK)이 걸린다. 즉, 잠금처리가 된다.
따라서 다른 세션에서 INSERT 등의 명령을 실행할 수가 없다.
(COMMIT 이나 ROLLBACK을 하기 전까지..)
4. 롤백(되돌리기)
> ROLLBACK;
5. 커밋(반영하기)
> COMMIT;
6. 자동 커밋 기능
> SET AUTOCOMMIT = 0; (자동커밋OFF)
> SET AUTOCOMMIT = 1; (자동커밋ON)
7. 트랜젝션을 이용할 수 있는 범위
- 트랜젝션은 모든 명령을 롤백으로 되돌릴 수 있는 것은 아니다.
다음과 같은 명령은 자동 커밋된다.
> DROP DATABASE
> DROP TABLE
> DROP
> ALTER TABLE
댓글목록
등록된 댓글이 없습니다.