728x90
반응형
트랜잭션의 격리 수준
- 트랜잭션의 격리수준은 동시에 여러 트랜잭션이 처리될 때,
특정 트랜잭션이 다른 트랜잭션에서 변경하거나 조회하는 데이터를 볼 수 있도록
허용할지 말지를 결정하는 것이다.
격리 수준에 따라 발생할 수 있는 문제점(부정합)
- DIRTY READ
어떠한 트랜잭션에서 처리한 작업이 완료되지 않았음에도 불구하고 다른 트랜잭션에서 볼 수 있게 되는 현상
- NON-REPEATABLE READ
동일한 SELECT 쿼리를 실행했을 때 항상 같은 결과를 보장해야 한다는 "REPEATABLE READ" 정합성에 어긋나는 현상
- PHANTOM READ
한 트랜잭션내에서 동일한 쿼리를 두 번 수행했는데,
첫 번째 쿼리에서 존재하지 않던 유령(Phantom) 레코드가 두 번째 쿼리에서 나타나는 현상
트랜잭션 격리 수준 변경 및 확인
set autocommit =0 ; --자동 commit 비활성화
트랜잭션 격리수준 확인하기
방법1 . select @@GLOBL.transaction_isolation; -- Global 정보 확인
방법2. select @@SESSION.transaction_isolation; -- Session 정보 확인
'REPEATABLE-READ' -- 기본값
\
728x90
반응형
'Database > mysql' 카테고리의 다른 글
[ MYSQL / Database] READ UNCOMMITTED, COMMITTED, REPEATABLE READ (0) | 2023.04.17 |
---|---|
[MYSQL /Database] 커서 (cursor) (0) | 2023.04.14 |
[MYSQL /Database] 트리거 trigger (0) | 2023.04.14 |
댓글