트랜잭션


트랜잭션

트랜잭션이란 쪼갤 수 없는 업무의 최소 단위 쇼핑몰 사이트에서 물건을 주문한다면 1) 주문 기록을 저장하고 2) 포인트를 저장하고 3) 결제 기록을 저장해야 한다 그런데 만약 중간에서 에러가 난다면 예컨데 주문기록과 포인트는 있는데, 결제 기록이 없는 상황이 생길 수도 있다. 이러한 문제를 해결하기 위해 나온 해답은 모든 SQL을 성공시키거나, 하나라도 실패하면 모두 실패하는걸로 만드는 것이다. 트랜잭션 시작하기: start transaction; 트랜잭션 정상 종료하기 (SQL 반영): commit; 트랜잭션 실패 처리하기 (SQL 비반영): rollback; 결국 묶어서 저장된다는 의미이다. Client1이 DB에 유저 A를 저장한다고 했을때 트랜잭션이 시작된다. 저장하고 있는 코드가 진행되고 있을 때 Client2가 전체 유저 조회를 하지만 아직 Client1이 유저 A를 저장한다는 SQL이 반영되지 않았고 Client2는 A 유저를 확인할 수 없다. 결국 코드를 작성할 때 S...



원문링크 : 트랜잭션