롤백 사용을 피하기 위해 다음의 전략을 사용할 수 있다:
1. 접근하기 원하는 모든 테이블에 락을 사용. LOCK TABLES ...
2. 조건 테스트(Test conditions)
3. 모든 것이 제대로 된다면 업데이트를 한다.
4. UNLOCK TABLES
---------------------------------
위 방법은 Commit을 수행하는 방법에 대해서 설명이 되어 있습니다.
그런데 롤백을 구현하는 방법에 대한 설명이 빠진것 같습니다.
3번에서 제대로 안된다면 단지 업데이트를 안하고 unlock시키면 되는 것인지 언급이 빠져 있습니다.
또한 제대로 수행이 되지 않고 에러를 발생한다면 어떻게 인지할수 있는지 잘 모르겠습니다.
'업데이트를 한다'는 의미가 자기 자신을 업데이트 한다는 것인지
아니면 슬레이브로 데이터 베이스를 작동시키고 그곳에 업데이트를 해야하는 것인지 모르겠습니다.
개념적인 부분에서 좀 혼동이 와서 질문드립니다.
답변 부탁드립니다.
|