SqlSessionTemplate
Mybatis를 사용할 때 SqlSessionTemplate 라는걸 사용한다.
여기서 ExecutorType 모드가 있다는걸 알게 되었는데
지금 알게된 세가지 방식을 정리해보고자 한다.
executorType.simple
- 이 모드에서는 각 SQL 문이 실행될 때마다 DB 연결을 열고 실행.
- 각 SQL 문이 개별적 실행되어 하나의 트랜잭션 내에서 여러 SQL 문을 실행할 때에도 각각의 SQL 문은 독립적인 트랜잭션으로 실행
- 이 모드는 간단한 작업이나 간단한 쿼리를 처리할 때 사용될 수 있고, 트랜잭션 관리나 롤백에 있어 SQL 문 간에 영향을 주지 않음
executorType.batch
- 이 모드에서는 Mybatis가 가능한 모든 SQL문을 배치(batch)로 묶어 데이터베이스에 한번에 전송.
-> 네트워크 오버헤드가 감소하고 성능 향상 가능
- 모든 SQL 문은 동일한 트랜잭션 내에서 실행 -> 롤백이나 커밋도 한꺼번에 처리.
executorType.reuse
- 미리 컴파일된 SQL 문과 캐시된 세션을 재사용해 성능 향상시키는 방법
- 성능이 중요한 시나리오에 사용
출처