프로젝트를 시작하면서 DB를 설계해야하는데 처음이다 보니 막히는 부분이 많습니다.
처음엔 최대한 정규화를 하면서 테이블을 만들었는데
편의성이나 성능부분에서 반정규화를 해야할 부분이 생기기 시작하면서 머리가 아파오네요.
현재 고민인 상황입니다.
1. 모든 데이터 테이블에 자료가 변경(추가/수정/삭제)될 때마다 이력을 관리하는 테이블이 있습니다.
각 데이터 테이블에는 변경에 관련된 컬럼은 없습니다.
2. 사용자에게 자료의 추가/수정일을 노출시켜야합니다.
3. 현재 상황에서는 데이터 테이블 자료조회시 이력테이블에 조인을 합니다.
4. 수정안으로 각각의 데이터테이블에 추가/수정일 컬럼을 추가하려 합니다.
3번과 4번을 놓고 고민중인데 어느게 효율적인지 파악을 못하겠습니다.
편의성과 성능을 비교/분석하기가 쉽지 않네요.
의견좀 부탁드리겠습니다.