조회할 때마다 식을 다시 실행합니다.
SELECT EXTRACT(YEAR FROM AGE(birth_date))파생 속성은 원본 데이터에서 계산되지만, 실제 설계에서는 조회 때 계산, 미리 저장, DB가 계산 중 무엇을 택할지 결정해야 합니다.
출발점은 모두 "기존 컬럼에서 계산되는 값"입니다.
조회할 때마다 식을 다시 실행합니다.
SELECT EXTRACT(YEAR FROM AGE(birth_date))기록을 저장하거나 갱신할 때 값을 함께 써 둡니다.
orders.total_amount = SUM(items.qty * price)기반 컬럼은 저장하고, 파생 값은 DB가 정의식으로 계산합니다.
GENERATED ALWAYS AS (expr)항상 최신 값을 읽고, 별도 동기화 문제가 없습니다.
조회 성능이 좋아지고 반복 계산을 줄일 수 있습니다.
자동 계산과 함께, DBMS에 따라 인덱싱도 활용할 수 있습니다.
읽을 때마다 계산 비용이 발생합니다.
원본 값이 바뀌면 파생 값도 같이 맞춰야 하므로 일관성 관리가 필요합니다.
지원 문법과 동작 범위가 DBMS마다 다릅니다.