SQL/MYSQL
[MySQL] SET TRANSACTION 사용 방법 및 예시
Ant_U
2024. 11. 14. 09:50
728x90
반응형
SET TRANSACTION 문은 트랜잭션의 특성을 설정하는 SQL 구문입니다. 현재 세션이나 다음 트랜잭션에 대한 격리 수준(isolation level)을 지정할 수 있습니다.
기본 문법:
SET [GLOBAL | SESSION] TRANSACTION
transaction_characteristic [, transaction_characteristic] ...
transaction_characteristic:
ISOLATION LEVEL level
| READ WRITE
| READ ONLY
격리 수준(level)의 종류:
- READ UNCOMMITTED
- READ COMMITTED
- REPEATABLE READ (MySQL 기본값)
- SERIALIZABLE
주요 사용 예시:
1. 다음 트랜잭션의 격리 수준 설정
SET TRANSACTION ISOLATION LEVEL READ COMMITTED;
START TRANSACTION;
-- SQL 문장들
COMMIT;
2. 현재 세션의 격리 수준 설정
SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ;
3. 전역 트랜잭션 격리 수준 설정
SET GLOBAL TRANSACTION ISOLATION LEVEL SERIALIZABLE;
4. 읽기 전용 트랜잭션 설정
SET TRANSACTION READ ONLY;
START TRANSACTION;
SELECT * FROM users;
COMMIT;
주의사항:
- GLOBAL 설정은 새로운 연결에만 적용됩니다.
- SESSION 설정은 현재 세션에만 영향을 미칩니다.
- 격리 수준이 높을수록 데이터 일관성은 향상되지만 성능은 저하될 수 있습니다.
SET TRANSACTION은 데이터베이스의 동시성 제어와 일관성을 관리하는 중요한 도구이며, 애플리케이션의 요구사항에 따라 적절한 격리 수준을 선택하는 것이 중요합니다.
728x90
반응형