2016-11-26 2 views
1

트랜잭션이 모든 작업을 성공적으로 실행하면 트랜잭션이 커밋된다고합니다. 모든 효과가 이제 데이터베이스 시스템에 영구적으로 설정됩니다.거래에서 부분적으로 위탁 된 것과 위탁 된 것의 차이점은 무엇입니까?

하지만 이해할 수 없습니다. 부분적으로 커밋 됨 상태는 무엇입니까?

정의에있어서, 트랜잭션이 마지막 동작을 실행하면

부분적 커미트 된 상태이며, 부분적으로 커미트 된 상태에 있다고한다.

부분적으로 커밋 됨과 커밋 됨 상태는 모든 트랜잭션 작업이 실행 된 후에 발생합니다.

두 트랜잭션 상태를 구별하는 방법.

답변

1

this reference에서 부분적으로 커밋 된 상태는 데이터베이스 트랜잭션의 모든 구성 요소가 완료되고 논리적으로 데이터베이스에 대한 변경 내용을 유지하기 위해 커밋하지만 아직 실제로 유지되지는 않은 것으로 나타납니다. 나는 트랜잭션의 작업이 끝난 후에도 여전히 실패가 발생할 수 있기 때문에 "논리적으로"라는 단어를 사용한다. 이 가능성을 고려하기 위해 RDBMS는 디스크에 충분한 정보를 기록하여 실패가 발생하더라도 트랜잭션 결과를 다시 작성하고 데이터베이스를 적절히 업데이트 할 수 있도록 보장합니다.

논리 관점에서 볼 때 부분적으로 커밋 된 상태와 커밋 된 상태는 동일합니다. 그러나 이전의 경우 데이터베이스 자체가 실제로 트랜잭션 결과를 반영하지 않을 수도 있다는 점이 다릅니다. 여기

는 위의 기준에서 가져온 데이터베이스 트랜잭션의 다양한 상태 보여주는 도움도이다 : 나는 그림을 얻을 어디서 나는 명확하게 기준을 인용

enter image description here

+1

을,이 대답은 자격이되지 않습니다 downvoted. –

관련 문제