Transaction Isolation in SQL
- 트랜잭션 개념은 지원된다.
- Auto Commit OFF
- implicitly 하게 시작 → commit or rollback 으로 끝난다.
- Auto Commit ON
- 보통 DBMS 에서는 모든 SQL 문장하나하나가 트랜잭션이라고 한다.
- DML 문장 (INSERT, UPDATE, DELETE)
- 이것의 sequence로 구성 or 문장 하나 하나를 각 트랜잭션으로 구성
- DDL 문장 (CREATE, ALTER, DROP )
- 트랜잭션 안에 포함되지 않으며, 성공적으로 실행되면 자동으로 커밋됩니다.
사용 명령어
- SET TRANSACTION : 트랜잭션에 관한 변수 설정
- COMMIT
- ROLLBACK
- SAVEPOINT : 롤백 지점 설정
- ROLLBACK TO SAVEPOINT
Weak Levels of Consistency
- 일치성보다 DBMS 의 성능이 더 중요하기 때문이다.
- perfomance 를 위해서 정확성을 조금 감소
- not serializable 한 것도 허용
- 대략적인 값만 구하는 것도 가능
Degree-two Consistency
- Weak Levels of Consistency 에서 지원 → serializable 보장 X
- S-lock을 맘대로 읽고 풀고함
- X-lock은 ****트랜잭션이 끝날 때까지 유지