파생 컬럼은 계산 비용과 갱신 책임을 교환한다
주문 총액을 저장하면 읽기는 빠르지만 주문상세가 바뀔 때마다 같은 계산을 다시 수행해야 한다.
1 상세 변경order_items의 수량 또는 단가가 바뀐다.
2 재계산SUM(unit_price × quantity)를 다시 구한다.
3 저장orders.total_amount를 한 트랜잭션 안에서 갱신한다.
4 검증원본 합계와 저장 합계가 다른지 로그로 확인한다.
관점
이득
책임
읽기
목록과 상세 화면에서 총액을 즉시 읽는다.
저장된 값이 최신인지 확인해야 한다.
쓰기
복잡한 집계를 매번 반복하지 않는다.
삽입·수정·삭제마다 재계산한다.
업무 의미
주문 당시 금액 보존처럼 이력 요구를 만족한다.
현재 금액과 주문 시점 금액을 구분한다.
기준: 파생 컬럼은 정규화 규칙의 예외가 아니라 읽기 패턴과 갱신 책임이 명확할 때 선택하는 저장 전략이다.