본문 바로가기

DB2

JOIN으로 성능 개선하기 🗣️ 배경해당 주제는 현재 진행하고 있는 프로젝트에 새로운 feature를 도입하다 맞이한 문제이다. 우리 프로젝트 팀원들은 기존 구글 폼지를 사용하여 맞이했던 여러 가지 문제점들을 해결하기 위해 웹사이트 내에서 직접 사용자가 작성할 수 있는 폼지 서비스를 제공하고자 하였다.폼지 서비스 중 폼지 답변에 대한 통계를 조회하는 기능이 있었다. 해당 기능에서 고민하지 않고 생각나는 대로 그대로 개발한 무능한 코드를 볼 수 있었다. 우리는 Form테이블과 1 : N 관계를 맺고 있는 FormField 테이블을 생성하였는데, 아래는 FormField의 DDL문이다. 아래는 FormField와 1: N 관계를 맺고 있는 FormAnswer 테이블의 DDL 문이다. 🤫 문제 상황아래의 사진은 폼지 통계를 조회하는.. 2025. 2. 16.
트랜잭션의 전파 방식 목차트랜잭션 전파란?트랜잭션 전파 순서트랜잭션 전파 속성1. 트랜잭션의 전파란?트랜잭션 전파하나의 트랜잭션 내부에 다른 트랜잭션이 있는 경우, 트랜잭션 정책에 따라 어떻게 동작할 지 결정하는 것이다.트랜잭션 내부에 트랜잭션이 존재하는 경우, 트랜잭션 전파 수준에 따라 트랜잭션을 새로 만들 수도 있고, rollback범위도 달라진다.기본값은 REQUIRED이다.트랜잭션은 데이터베이스에서 제공하는 기술이므로 커넥션 객체를 통해 처리한다. 1개의 트랜잭션을 사용한다는 것은 하나의 커넥션 객체를 사용한다는 것이다.→ 외부 트랜잭션내에 내부 트랜잭션이 있는 경우, 둘을 묶어 하나의 트랜잭션이 됩니다. → 스프링에서는 로직에 있는 트랜잭션을 논리 트랜잭션이라는 단위로 생각하고, 논리 트랜잭션들을 묶은 하나의 트랜잭.. 2023. 10. 24.