[DB] SavePoint / Truncate

HenryHong·2022년 8월 1일
0
post-thumbnail

DB 트랜잭션

  • 데이터 처리의 한 단위
  • DB는 데이터를 CRUD하는 작업을 기본적으로 메모리단에 적용하고 명령어를 통해 물리적인 하드디스크에 저장한다.
  • 개발자가 rollback 해야하는 상황을 대비하여 설계됨
  • commit 발생 시 물리적인 저장소에 적용됨
  • 데이터에 대한 작업을 하기 위해 입력되는 명령문들의 시작부터 커밋까지가 하나의 트랜잭션

Rollback

  • 데이터의 저장, 삭제, 수정 등의 작업을 하고 난 후 원래의 상태로 되돌리는 작업
  • 커밋 이후에는 롤백을 해도 커밋 전으로 돌아갈 수 없다

Savepoint

  • savepoint 를 지정하면 rollback 시 지정위치로 복원이 가능
  • savepoint 로 지점 설정, rollback 명령어로 복원

Truncate

  • 지정된 테이블의 모든 데이터를 지운다
  • delete문은 db에 바로 반영되지 않고 메모리에 적용 후 커밋이 되어야 적용됨으로 rollback이 가능
  • 하지만 truncate는 수행하는 순간 바로 커밋을 날려서 rollback이 불가능
profile
주니어 백엔드 개발자

0개의 댓글