MySQL 트랜잭션과 잠금 정리 및 테스트
·
SQL/RealMySQL
1. 트랜잭션의 필요성MyISAM이나 Memory 스토리지 엔진은 트랜잭션을 지원하지 않아 부분 업데이트 문제가 발생한다. 업데이트 중간에 오류가 발생하면 일부 데이터만 변경되어 데이터 정합성이 깨진다.InnoDB의 장점:트랜잭션 지원으로 All or Nothing 보장오류 발생 시 자동 롤백으로 안전한 데이터 관리복잡한 예외처리 코드 불필요트랜잭션은 논리적인 작업 자체가 100% 적용되거나 적용되지 않아야 함을 보장해주는 DBMS의 필수 기능이다.2. 트랜잭션 사용 시 주의사항트랜잭션은 꼭 필요한 최소의 코드에만 적용해야 한다. DB 커넥션 개수는 제한적이므로 트랜잭션 범위를 최소화하는 것이 중요하다.잘못된 트랜잭션 범위 예시커넥션 연결 → 트랜잭션 시작 → 로그인 → 파일 처리 → 데이터 저장 → 트..