php 에서 transaction 이 중단되는 게 가능한가요?
글쓴이: cococo / 작성시간: 목, 2013/11/21 - 10:35오후
음... 코드 작성하다가 궁금해서 질문해 보려고 하는데, 생각나는 곳이 이곳밖에 없어서 질문드려 봅니다.
1. php 로 코드 작성
2. transaction 걸고
3. db 값 조작
4. db 조작 코드가 길어서, commit 이나 rollback 코드가 작동되기 전에
5. = 예를 들어 update 가 10초 걸리는데, 5초 째에
6. 페이지를 닫아버린다. ( = 사용자가 페이지 먹통된 줄 알고 중간에 닫았다던가... )
이럴 때, 사용자의 조작( 브라우저의 페이지 닫은 거 ) 이후 DB에 대한 모든 조작은 어찌 되는 걸까요?
11. beginTransaction 하고 commit 이나 rollback 을 안 해 줬으니, 조작 결과가 DB에 write 안 되는 걸까요?
12. php 엔진 혹은 db 엔진에서 beginTransaction 자체를 취소하는 걸까요?
트랜젝션 관련 예외처리 작성하다가, 궁금해서 적어 봅니다.
비슷한 문제에 직면하셨던 분들은 리플달아 주시면 대단히 감사하겠습니다.
이상입니다. 좋은 하루 되시기 바랍니다.
Forums:
1~6 일반적으로 페이지를 닫는다고 서버쪽의
1~6
일반적으로 페이지를 닫는다고 서버쪽의 커넥션이나 작업 처리에 인터럽트가 걸리지 않습니다. 둘은 네트웍을 이용한 통신이므로 따로 생각하시면 될것 같네요.
11~12 는 경우와 세팅에 따라 다릅니다.
이건 다른 얘기긴 한데... transaction
이건 다른 얘기긴 한데...
transaction 처리를 php 코드 내에서 하지 말고 DB 프로시저 내에서 하는게 좋으리라 봅니다.
----
academic은 제 고등학교 때 동아리 이름입니다.
academic, 아주 가끔은 저도 이랬으면 좋겠습니다.
새동전님, academic 님 답변 감사드립니다.
덕분에 대충 방향이 보입니다.
프로시저는 제가 익숙치 않아서 아예 생각치 않고 있었는데, 여러모로 정답같네요.
답변 감사드립니다. 주말 잘 보내시기 바랍니다.
댓글 달기