롤백이란?
- 변경된 데이터를 테이블에 영구적으로 저장하기위해 commit을 해줘야 하는데, 이 commit 작업 전에 실행되어 변경 사항을 취소하는 것
savepoint
- 롤백 시 트랜잭션에 포함된 전체 작업을 롤백하는 것이 아니라 현 시점에서 savepoint까지 트랜잭션의 일부만 롤백할 수 있음
- 따라서 복잡한 대규모 트랜잭션에서 에러가 발생했을 때, savepoint까지의 트랜잭션만 롤백하고 실패한 부분에 대해서만 다시 실행할 수 있게 됨
truncate
- 테이블의 데이터를 전부 삭제하고 사용하고 있던 공간을 반납하는 것
- 해당 테이블의 데이터가 모두 삭제되지만 테이블 자체가 지워지지는 않음
- 이때 해당 테이블에 생성되어 있던 인덱스도 함께 truncate 된다.
delete |
데이터만 지워지고 사용하던 디스크 상의 공간은 유지 됨 원하는 데이터만 삭제할 수 있음 |
truncate |
데이터와 인덱스가 모두 삭제 됨, 컬럼 값은 유지 특정 데이터만 삭제하는 것이 불가능 함 |
출처::
https://velog.io/@thdgorhkd97/DB%EC%9D%98-savepoint-truncate
'~2023.02 > 1일 1CS지식' 카테고리의 다른 글
라우터와 스위치의 차이는? (0) | 2022.08.07 |
---|---|
RAM과 ROM의 차이는? (0) | 2022.08.05 |
운영체제의 정의와 필요한 이유, 역할은 무엇인가? (0) | 2022.07.31 |
커널(kernel)의 종류는? (0) | 2022.07.26 |
회선교환방식과 패킷교환방식의 차이는? (0) | 2022.07.25 |