같은 행의 값에서 자동으로 계산해
생성 열은 다른 열을 바탕으로 값을 만들고 직접 INSERT하거나 UPDATE할 수 없어. 계산 규칙을 데이터베이스 한 곳에서 지킬 수 있어.
색인이 필요하면 STORED
STORED는 쓰기 때 계산해 디스크에 저장하므로 공간을 쓰지만 색인을 만들 수 있어. PG 18부터의 VIRTUAL은 읽을 때 계산해 저장 공간을 쓰지 않지만 색인을 만들 수 없어.
질의하는 파생값인지 물어봐
slug와 정규화한 이메일처럼 자주 찾거나 정렬하는 값은 STORED가 맞고, 전문 검색용 tsvector는 STORED 생성 열과 GIN 색인을 함께 써. 표시할 때만 필요한 세금 포함 가격이라면 VIRTUAL이 가벼울 수 있어.