MySQL

Auto Commit 오해
글을 쓰게 된 계기 다른 팀원의 auto commit에 관한 발표를 듣고 궁금한 점이 생겼다. Application 단에서, hikariCP의 auto commit 설정을 false로 하면, 디비에 요청시에, auto commit을 set하는 쿼리들이 날아가지 더 이상 날라가지 않아, DB 부하를 줄일 수 있고, DB 커넥션을 얻는 시간을 지연 시켜, 자원을 효율적으로 사용할 수 있다는 발표였다. 여기서 나는 궁금증이 생겼다. HikcariCP의 auto commit 설정을 false로 하면, 트랜잭션의 auto commit 설정은 DB의 설정을 따라갈 것이다. 그래서, 우리 회사의 경우에는 auto commit이 true로 되어 있기에, 해당 transaction의 auto commit이 true가 설..
Transaction정리
Transaction이란❓ 하나의 논리적 기능을 수행하기 위한 작업의 단위이다. 즉, 복수 쿼리를 독립적으로 한 단위로 묶는 것이다. 물론, 하나의 쿼리도 transaction으로 볼 수 있다. 여기서 논리적 단위란 한 번에 수행되어야 일련의 연산이다. 그럼 Transaction을 왜 써야 할까❓ 데이터의 일관성을 유지하면서, 안정적으로 데이터를 복구하기 위해서 써야된다. 아직 써야되는 이유가 와닿는 거 같지는 않다. Transaction의 특징을 알아보자!! Transaction 특징 transaction의 특징은 ACID이다. Atomicity(원자성) -> 단위 - 한 트랜잭션 내에서 실행한 연산들은 하나의 작업으로 본다. 즉, 모두 성공하거나 모두 실패하는 구조를 가진다. Consistency(일..