예전에 대용량 DB튜닝을 DB엔지니어 업체에 의뢰했는데
varchar(30) pk를 int로 전부 바꿔놨더라구요..그래서 퍼포먼스가 향상되었던 기억이 나는데
오늘 프로젝트 감리결과의 개선사항에서
"인위적인 키(Artificial Key)는 PK로써 사용 가능한 후보 키가 없을 경우에 한정하여 제한적으로 사용되어야 함."
int형 PK컬럼을 삭제하고 사업자번호 varchar(12)에 pk를 두라고 하시더라구요.
제가 아는 pk정의는
1. 자주사용되어야 한다.
2. 간결해야한다.
3. 유니크해야한다.
저는 테이블에 유니크한 컬럼이 있지만 데이터형식이 int가 아니라면 인위적으로 PK컬럼 만들었는데
제가 생각하는게 틀린건가요??
예로
USER_ID는 varchar(20)인데 USER_ID에는 고유키만 걸어주고
USER_SEQ int 컬럼을 하나 만들어 PK걸어놓고 다른테이블에서 USER_SEQ필드에 FK걸어서 설계했거든요..
|