MariaDB 트랜잭션 isolation Level > DB 자료실

본문 바로가기
사이트 내 전체검색

DB 자료실

MariaDB 트랜잭션 isolation Level

페이지 정보

profile_image
작성자 DBM
댓글 1건 조회 2,610회 작성일 22-02-07 13:16

본문

 

MariaDB는 4개의 트랜잭션 레벨을 설정 할 수 있습니다.

 

1. READ UNCOMMITTED

 

아직 commit되지 않은 데이터를 다른 트랜잭션이 읽는 것을 허용한다. 다른 트랜잭션이 commit 전 데이터를 볼 수 있다. 

-  Dirty Read, Non-Repeatable Read, Phantom Read 모두 발생한다.

 

2. READ COMMITTED

 

-  commit된 내용만 읽을 수 있다. 트랜잭션이 다르더라도 다른 트랜잭션이 commit하면 해당 데이터를 볼 수 있다.

-  Non-Repeatable Read, Phantom Read 발생한다.


3. REPEATABLE READ

 

-  select시 현재 버전의 snapshot을 만들고 그 snapshot으로부터 데이터를 조회한다. 동일 트랜잭션 내에서 일관성 보장, 하지만 데이터를 다시 읽어들이기 위해서는

   트랜잭션을 다시 시작해야 한다.

-  Phantom Read 발생한다.

 

4. SERIALIZABLE

 

-  가장 높은 레벨이며 트랜잭션이 끝날 때까지 SELECT 문이 사용하는 모든 데이터에 shared lock이 걸린다. 

   동시성이 가장 적지만 독립성은 가장 높다.

 

댓글목록

profile_image

최고관리자님의 댓글

최고관리자 작성일

좋은글 감사합니다. ^^

회원로그인

회원가입

사이트 정보

회사명 : (주)리눅스데이타시스템 / 대표 : 정정모
서울본사 : 서울특별시 강남구 봉은사로 114길 40 홍선빌딩 2층 / tel : 02-6207-1160
대전지사 : 대전광역시 유성구 노은로174 도원프라자 5층 / tel : 042-331-1161

접속자집계

오늘
877
어제
1,612
최대
3,935
전체
795,348
Copyright © www.linuxdata.org All rights reserved.