제가 기존에 사용하던 데이터들은 코드성 데이터를 저장할때 모두 코드를 사용했습니다.
예를 들면 다음과 같습니다.
[주문상태]
주문접수 : "00"
상품준비중 : "10"
택배사전달 : "20"
발송중 : "30"
발송완료 : "40"
뭐 이런식이죠. 그런데 테이블에서 조회할때 각 값을 외우거나 어디선가 참조를 해야 의미를 알 수 있어서..
[주문상태]
주문접수 : "OrderAccepted"
상품준비중 : "ProductPrepare"
택배사전달 : "SendToDelivery"
발송중 : "Deliverying"
발송완료 : "Complete"
위와 같이 의미를 쉽게 파악할 수 있는 영단어로 바꾸면 어떨까합니다.
저 코드에 해당하는 영문들은 많아 봐야.. 10개정도일것 같습니다.
아무리봐도 직관적으로 이해하기도 쉬운 방식인데.. 왜 제 주변에서는 모두 코드를 숫자나 극단적으로 줄여서 길이를 맞춘 단어를 하용하는 걸까요?
예전에는 DB저장 공간이 부족하니 한자리나 두자리로 마춰서 쓰려고 했던걸까요?
고수님들의 의견은 어떨지 궁금합니다.
Comment 2
-
레몽
2021.08.27 11:51
-
지나가는초보
2021.08.27 17:19
코드가 사용되는 부분들은 보통 인덱스 키로 활용되는 확률이 높은데 인덱스 키 컬럼의 사이즈 또한 성능에 영향이 있습니다.
또한 대용량 데이터의 경우에는 위와 같은 사이즈의 차이를 무시할 수 없는 부분도 있고 데이터가 일관적으로 유지되는 점도 있습니다.
가장 큰 문제는 역시나 데이터 사이즈이니 잘 계산하셔서 문제되는 부분이 없다고 판단되신다면 열거형으로 진행하셔도 되지 않을까 생각됩니다.
하지만 시스템에 사용되는 코드의 종류는 매우 많으니 그것들의 사이즈를 전부 염두하셔서 판단하셔야 되겠습니다.
cmd_comment_vote_user Upvote0 Downvote0 Comment Update Delete
한가지 더 부연해서 말씀드리면 이번에 프로젝트 진행을 하면서 EntityFramework 를 사용하고 있는데, 열거형을 그대로 저장하면 업무개발 부문에서도 훨씬 생산성이 좋아져서 이런 고민을 하게 되었네요..