SharedIT | 묻고 답하기(AMP)

DB 설계시 nvarchar 많이 쓰나요?

다국어나 유니코드 등으로 nvarchar를 사용하는 건 당연하다고 생각하는데..

단순 관리성 텍스트도 nvarchar로 다 설계하나요?

ex) email, 주민번호, 여권번호, 코드 등

h/w 성능이 예전보다 많이 올라와서 성능문제는 별로 없다고들 하는데..

데이터 사이즈가 일단 2배인데... 없진 않을거라 생각이 됩니다..

단순 개발자 편의성, 습관, 고민하기 귀차니즘으로 nvarchar로만 개발하는건지...

요즘은 nvarchar 가 국룰로 변해가는 것인지..

트렌드가 어떤가요?

5개의 답변이 있습니다.

미호크
  0 추천 | 3년 이상 전

DB쪽으로 일하고 있는 한 엔지니어입니다.

간단하게 DBMS 개발자들이 varchar, char, int형등등을 왜 아직도 제공하고 있을까요??

몰라서가 아닙니다. 데이터를 검색할때 저장할 때 그 데이터에 대한 최적화 저장을 목표로 하기 때문입니다.

예를들어 주민번호가 몇천만 row가 있는데 varchar하고 char하고 어떤게 성능이 더 나을까요??

위에 말씀하신것처럼 몇천row면 성능에 그닥 지장 없습니다.

그러나 개인적으로는 데이터 형식에 따른 컬럼을 맞추어서 데이터를 저장하는것을 추천드립니다.

0.001초라도 성능은 성능입니다. 그것을 기억하시면 좋을듯 합니다.

빨간신발 | 3년 이상 전

저도 데이터 맞는 데이터형을 쓰자는 주의지만...

주변에 보면 그냥 다 nvarchar을 사용하고 있어서

질의했습니다.

그저멍하니
  0 추천 | 3년 이상 전

서버의 성능과, DB 처리능력등 

많은 부분이 좋아져서, 저는 다 nvarchar로 DB를 구성하고 있습니다.

용량 제약이 있거나, 째째한 서버 구성이라면 어쩔수없지만

편한게 편한거니깐요.

빨간신발 | 3년 이상 전

그냥 개발 편의성을 보면 당연 nvarchar가 편하죠...


차바라기
  0 추천 | 3년 이상 전

nvarchar를 많이 사용합니다. 테이블 변경이나 처리면에서 나으닌까요

빨간신발 | 3년 이상 전

유연성은 nvarchar죠

양성환
  0 추천 | 3년 이상 전

nvarchar가 미래를 위해서로 유리합니다.

빨간신발 | 3년 이상 전

10여년 전에도 nvarchar를 사용하는 이유 중 하나라고 들었지만...

저희는 지역기반이라 그런지 아직까지 그런 경험은 없어서요..

필요할때 var -> nvar로 변환하면 되는 거 아닐까요?

양성환 | 3년 이상 전

디스크용량이 가장 저렴합니다.

빨간신발 | 3년 이상 전

디스크가 저렴하죠...

운영은 큰 문제가 없는데...

1차, 2차 백업까지 생각하면 처음부터 관리하면 더 효과적이 않을까 생각해서요..

wansoo
  0 추천 | 3년 이상 전

그냥 varchar 사용하고 있습니다.

데이터 구조 변경할 일이 자주 있는 것도 아니고 하다 보니~

nvarchar보다는 varchar이 저장 공간 활용면에서는 더 유리할 것 같고,

처리 성능면에서는 nvarchar이 varchar보다 유리할 것으로 보이고...

차이나면 얼마나 나겠냐 싶기도 하네요~

빨간신발 | 3년 이상 전

저하고 비슷한 생각이시네요..

그거 얼마한다고 신경쓰고 있나 이런 생각도 들고...

그래도 직접 테이블 생성시에는 var, nvar 용도에 따라서 구분하기는 하는데...

개발사 테이블 정의서를 보니 nvarchar로만 했더라고요...