트랜잭션

트랜잭션이란?

하나의 논리적 작업 단위, 전부 성공 또는 전부 실패 (All or Nothing)

-- 트랜잭션 시작
START TRANSACTION;

-- 작업 수행
UPDATE accounts SET balance = balance - 10000 WHERE id = 1;
UPDATE accounts SET balance = balance + 10000 WHERE id = 2;

-- 성공 시 확정
COMMIT;

-- 실패 시 취소
ROLLBACK;

ACID 속성

Atomicity (원자성)

Consistency (일관성)

Isolation (격리성)

Durability (지속성)

격리 수준 (Isolation Level)

READ UNCOMMITTED (레벨 0)

READ COMMITTED (레벨 1)

REPEATABLE READ (레벨 2)

SERIALIZABLE (레벨 3)