반응형
Ant_U
DBA 개미
Ant_U
전체 방문자
오늘
어제
  • 분류 전체보기 (262)
    • AWS (3)
    • C# (1)
    • SQL (236)
      • MYSQL (186)
      • MSSQL (50)
    • 자격증 (20)
      • SQLD (12)
      • SQLP (8)

인기 글

최근 글

250x250
hELLO · Designed By 정상우.
Ant_U

DBA 개미

[MySQL] SET TRANSACTION 사용 방법 및 예시
SQL/MYSQL

[MySQL] SET TRANSACTION 사용 방법 및 예시

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
반응형

'SQL > MYSQL' 카테고리의 다른 글

[MySQL] SET sql_log_bin 사용 방법 및 예시  (1) 2024.11.20
[MySQL] RESET BINARY LOGS AND GTIDS 사용 방법 및 예시  (0) 2024.11.19
[MySQL] PURGE BINARY LOGS 사용 방법 및 예시  (0) 2024.11.18
[MySQL] XA Transaction 사용 방법 및 예시  (1) 2024.11.15
[MySQL] LOCK TABLES, UNLOCK TABLES 사용 방법 및 예시  (0) 2024.11.13
[MySQL] LOCK INSTANCE FOR BACKUP, UNLOCK INSTANCE 사용 방법 및 예시  (0) 2024.11.12
[MySQL] SAVEPOINT, ROLLBACK TO SAVEPOINT, RELEASE SAVEPOINT 사용 방법 및 예시  (0) 2024.11.11
[MySQL] 트랜잭션 COMMIT, ROLLBACK 사용 방법 및 예시  (1) 2024.11.08
    'SQL/MYSQL' 카테고리의 다른 글
    • [MySQL] PURGE BINARY LOGS 사용 방법 및 예시
    • [MySQL] XA Transaction 사용 방법 및 예시
    • [MySQL] LOCK TABLES, UNLOCK TABLES 사용 방법 및 예시
    • [MySQL] LOCK INSTANCE FOR BACKUP, UNLOCK INSTANCE 사용 방법 및 예시
    Ant_U
    Ant_U

    티스토리툴바