일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 31 |
- 리눅스
- 배열
- 자바
- 스프링 기초
- 프로그래밍기초
- 코딩초보
- JShell
- 알고리즘
- Java
- 초보코딩
- github
- 자바기초
- spring
- 클래스
- 제이쉘
- 자바 스프링
- 프로그래밍
- Git
- 초보코딩탈출
- 자바프로그래밍
- JAVA기초
- 스프링
- 데이터베이스
- 이클립스
- eclips
- 컴퓨터과학개론
- 메소드
- 기초코딩
- 프로그래밍언어
- Elk
- Today
- Total
키보드워리어
[데이터베이스] 트랜잭션 본문
안녕하세요 블로그 방문자 여러분, 반갑습니다. 오늘 트랜잭션에 대해 살펴볼게요.
트랜잭션이란?
트랜잭션(Transaction)은 데이터베이스에서 한 번에 실행되어야 하는 연속적인 작업의 논리적인 단위입니다. 트랜잭션을 사용하여 데이터를 추가할 때 자동 커밋(Auto Commit)을 꺼야 하는 이유는 데이터의 일관성과 안정성을 보장하기 위해서입니다.
자동 커밋이 활성화되어 있는 경우, 각각의 SQL 문이 실행될 때마다 즉시 변경된 내용이 데이터베이스에 반영되어 커밋됩니다. 하지만 여러 개의 SQL 문으로 이루어진 작업을 트랜잭션 없이 수행할 경우, 중간에 오류가 발생하거나 예상치 못한 결과가 발생할 경우 데이터의 무결성이 깨질 수 있습니다.
트랜잭션을 사용하여 데이터를 추가할 때 자동 커밋을 꺼야 하는 이유:
- 일관성 유지: 여러 개의 SQL 문이 하나의 트랜잭션으로 묶여 실행될 때, 중간에 오류가 발생하더라도 모든 변경 내용이 롤백되어 데이터베이스의 일관성을 유지할 수 있습니다.
- 데이터 무결성 보장: 트랜잭션을 사용하면 데이터베이스에 저장되는 데이터의 무결성을 보장할 수 있습니다. 트랜잭션이 성공적으로 완료되면 변경된 데이터가 커밋되고, 그렇지 않으면 롤백되어 이전 상태로 복구됩니다.
- 병행성 제어: 트랜잭션을 사용하여 동시에 여러 개의 작업이 수행되는 경우, 데이터베이스의 동시성 문제를 해결하고 충돌을 방지할 수 있습니다.
자동 커밋을 끄는 방법은 데이터베이스 관리 시스템(DBMS)에 따라 다를 수 있습니다. 대부분의 DBMS에서는 트랜잭션을 시작하기 위해 명시적으로 BEGIN TRANSACTION 또는 START TRANSACTION을 사용하며, 트랜잭션을 커밋하려면 COMMIT 명령을 사용합니다. 롤백을 수행하려면 ROLLBACK 명령을 사용합니다.
예를 들어 [MySQL]에서 트랜잭션을 시작하고 커밋하는 방법은 다음과 같습니다:
START TRANSACTION; -- 트랜잭션 시작
-- SQL 문 실행
COMMIT; -- 트랜잭션 커밋
참고하시면 좋은 글
2023.08.10 - [개발 관련/Database] - [데이터베이스] 정규화 정리
2023.07.31 - [개발 관련/Database] - [데이터베이스] 인덱스란?
2023.07.30 - [개발 관련/Database] - [databases] 서브쿼리
이상 부족한 컨텐츠 읽어주셔서 감사드립니다.
내용 피드백이 있는 경우 댓글 부탁드립니다!
다음 포스팅 때 뵙겠습니다! 감사합니다 🤗
'개발 관련 > Database' 카테고리의 다른 글
LLM 모델 deploy어떻게 하는건데? (1) | 2024.04.19 |
---|---|
[redis] 레디스 조금 정리 (0) | 2023.09.19 |
[데이터베이스] 정규화 정리 (0) | 2023.08.10 |
[databases] 데이터시스템 설계 쌩 기초 (0) | 2023.08.01 |
[데이터베이스] 인덱스란? (0) | 2023.07.31 |