2d3k / CS-Study

기본을 소홀히 하지 말자!!
0 stars 1 forks source link

[Database] Savepoint, Truncate #32

Open 2d3k opened 1 year ago

2d3k commented 1 year ago

둘에 대해 설명하시오

2d3k commented 1 year ago

Savepoint는 트랜잭션 내에서 일부 작업이 수행된 후에 저장된 지점을 나타냅니다. 이를 사용하면 트랜잭션 내에서 오류가 발생할 경우, 해당 지점으로 되돌아가서 이전 상태로 롤백할 수 있습니다. 즉, Savepoint는 트랜잭션의 일부분을 롤백하고 나머지는 커밋하는 것을 허용합니다.

Truncate는 테이블의 모든 데이터를 삭제하는 명령어입니다. 이를 사용하면 테이블의 데이터를 한 번에 삭제할 수 있으므로 Delete보다 더 빠르게 작업이 수행됩니다. 그러나 Truncate는 롤백할 수 없기 때문에 주의해서 사용해야 합니다.

hyeonayou commented 1 year ago

Savepoint와 Truncate는 데이터베이스에서 사용되는 용어로

Savepoint는 롤백할 때 트랜잭션에 포함된 전체 작업을 롤백하는 것이 아니라 현 시점에서 savepoint까지 트랜잭션의 일부만 롤백한다. 따라서, Savepoint는 트랜잭션 내에서 작은 단위로 롤백을 수행하고자 할 때 유용하게 사용된다.

Truncate는 테이블의 모든 레코드를 제거하는 데 사용된다. 그러나, Truncate는 Delete와는 다르게 로그 파일에 작업 내용을 기록하지 않기 때문에, 복구할 수 없다. 따라서, Truncate를 사용할 때는 신중하게 판단해야 한다.