- dc official App
[일반] 선생님들 enum 무조건 쓰는 편인건가요?
곰팡(mind8044)
2025-12-27 18:40
추천 0
댓글 26
다른 게시글
-
개발자 대체 몆년 남았어? [2][일반] 익명(116.43) | 25.12.27추천 0
-
코딩 시니어도 5년안에 대체 본다 ㅋㅋㅋㅋㅋㅋ[일반] 익명(61.34) | 25.12.27추천 0
-
자기 자신한테 세뇌걸고 있는 취준생들이 많아서 안타깝네 [4][일반] 익명(121.178) | 25.12.27추천 1
-
책에 인용달아둔 링크도 보면 재밌는듯[일반] 밀우(ggbadza2) | 25.12.27추천 0
-
일본에서 퍼지고 있는 약자 남성론[일반] 익명(211.179) | 25.12.27추천 10
-
올해 대겹 굽비로 인턴연계해서 전환됐다 [4][일반] 린쟈오밍(180.227) | 25.12.27추천 0
-
기술블로그 쓸 플랫폼 추천좀요 [1][일반] 익명(180.64) | 25.12.27추천 0
-
'망상'을 버려라 비1전공[일반] 익명(118.235) | 25.12.27추천 1
-
붓캠이나 극ㆍ.비 나온 비1전공들이 공부 존나 해야되는데 [4][일반] 익명(118.235) | 25.12.27추천 1
-
걍 국.비지원을 아예 안해주면 안되나 [2][일반] 익명(118.235) | 25.12.27추천 0
노무현이 지옥에서 부활해도 뭐 안바뀔 것 같으면 enum 쓰고 그런거 아니면 int 쓰셈. varchar 써도 됌
varchar쓰고 attributeconvert ㄱㄱ
오 여기서 뵙네요 감사합니노 - dc App
https://techblog.woowahan.com/2527/
장단점이 있음 enum은 물리적으로 제약되서 항상 그 값이 저장됨을 보장해주는데 varchar은 값이 잘못 들어와도 못막아줌 그외에도 enum은 alter를 자주쳐야함 - dc App - dc App
Alter를 많이 써줘야하는 불편함이 있는데도 enum을 안쓰는 이유는 어떤 경우일까요? - dc App
@곰팡 값 경우의 수 케이스가 많으면 enum을 안쓰죠? - dc App
@곰팡 게시판 카테고리처럼 언제든 케이스가 늘어나는 경우엔 varchar - dc App
아.. 맞네요 딱 상태변화가 명확하게 나뉘는 부분에 대한건 enum 쓰는게 맞고 경우의수가 많은 부분은 커버하기 어려운게 맞네여 - dc App
@곰팡 네 그리고 enum 경우의 수 추가는 0.00초로 쉽게 가능한데 경우의 수를 없애는 alter문에 따라서 락을 길게걸 수 있음 - dc App
@딘퐁 감사합니다 딘퐁센세 - dc App
@곰팡 대신 varchar 단점은 어떤 값이 잇는지 테이블 구조만 봐선 모르고 select distinct type날려봐야함 - dc App
@딘퐁 enum은 테이블 칼럼만 봐도 케이스 구분이 바로 보림 - dc App
@딘퐁 alter문에 따라서 락을 건다는 이 부분이 아직 이해하기 어려운데, DB 락을 말씀하시는건가요? 아직 공부가 부족해서 - dc App
@곰팡 그건 좀 더 수련하면서 배워가세요 alter문에 따라서 메타데이터만 바꿔서 0.00초만에 끝나는 경우, 락은 안걸지만 전체테이블 복사하는 경우 ,shared lock을 걸고 전체 테이블 복사하는 경우 등 나뉨 - dc App
@딘퐁 네 요부분 공부하고 돌아오겠습니다 - dc App
“절대”인 상황에 쓰는데 그 “절대로”인 상황이 많이 없음
감사합니다 형님 - dc App
자바이야기 아녓나
varchar길래 db인줄 - dc App
나도 자바얘긴줄. 자바에선 이넘 권장하는듯
enum은 수정할 때 메타데이터를 수정하는거라 복잡하고 비용이 비쌈, 어떤 DB들은 테이블이 비어있지 않으면 수정을 못해서 ETL(extract,transform,load)로 작동하기도 함, 심지어는 ENUM type이 없는 DB가 있을 수도? varchar은 어떠한 값이 들어갈 수 있는지 예상을 못함 (ex, handed에 left, right만 허용하고 싶은데 banana같은 값이 들어가는 경우, 오타로 leffttt같은 값을 넣는 경우), select distinct를 해도 데이터 타입을 모두 확인할 수 없는 경우가 존재함 (ex, 우연히 테이블에 왼손잡이만 있는 경우 distinct하면 right가 안나옴) enum 객체의 테이블을 구성해서 FK로 땡겨오는 방법도 있음!!
sql antipattern 11장 보고 참조했는데 변화에 보수적인 경우 -> enum 변화가 잦은 경우 -> varchar 저는 varchar로 구성하고 ~~ IN (left, right)를 차라리 app level의 enum으로 땡겨와서 정합을 유지하는 방법이 서비스를 통해서 db를 접근하는 경우가 많을 때 더 적절한 방법이라고 생각했어요!! enum 객체의 테이블을 만들어서 FK로 정합 유지하는 방법은 선택할 가짓수가 적으면 비용이 더 클 것 같다고 생각했어ㅇㅅ
안씀 - dc App
일반적인 언어 이야기라면 많이 쓰고 디비 이야기면 케바케인데 잘 안씀 - dc App