728x90
반응형
SMALL
문자 데이터 형식 중 char nchar / varchar nvarchar 의 차이점에 대해서 알아보겠습니다.
char nchar / varchar nvarchar 은 모두 문자를 나타내기 위한 데이터형 입니다.
n이 붙은 경우와 var가 붙은 경우가 있는데요.
n이 붙어 있는 경우 : 유니코드 문자형. n이 없으면 아스키코드 문자형
var가 붙어 있는 경우 : 가변 길이 문자형. var가 없으면 고정 길이 문자형
※ 고정길이 문자형이란 지정된 자릿수 만큼 메모리 공간을 확보한 뒤, 입력값만큼 사용하는 것을 말하며
가변길이 문자형이란 입력값 만큼 메모리 공간을 차지하는 것을 말한다.
DataType | 길이 | 문자 데이터형 |
char(n) | 고정길이(글자 0~4000자) | 아스키코드 문자 데이터형 |
nchar(n) | 고정길이(글자 0~4000자) | 유니코드 문자 데이터형 |
varchar(n|max) | 가변길이(n사용시 1~4000자 | max 사용시 최대 2GB) | 아스키코드 문자 데이터형 |
nvarchar(n|max) | 가변길이(n사용시 1~4000자 | max 사용시 최대 2GB) | 유니코드 문자 데이터형 |
좀 더 예를 들어 설명하면 -
char(100)에 입력받은 문자 'AB'를 저장한다고 하면, 메모리 공간 100을 확보하고 2만 사용합니다.
(나머지 98이 남게 됩니다. 낭비.... )
varchar(100)에 'AB'를 저장한다고 하면, 메모리 공간 2만 사용하게 됩니다.
고정 길이 문자형인 char와 nchar는 자릿수가 명확한 (또는 명확해야하는 경우) 주민등록 번호와 같은 경우에만 사용하며, 자리수가 정해지지 않는 이름, 지역명 등과 같은 입력값을 받을 경우에는 사용하지 않습니다.
(단, 대용량 데이터베이스를 사용할 때 4글자 미만을 저장하게 될 경우에는 CHAR 형식으로 설정하는 것이 INSERT/UPDATE 시에 더 좋은 성능을 발휘. )
728x90
반응형
'공부 (IT) > IT관련_DB' 카테고리의 다른 글
[MSSQL] lock 걸린 쿼리 확인 및 해제 (0) | 2021.08.23 |
---|---|
[MSSQL] 커서(Cursor) 사용법 (0) | 2021.06.22 |
[MSSQL] 데이터 타입 변환 (0) | 2021.06.01 |
[MSSQL] 인스턴스 / DB명 / 서버명 확인하기 (0) | 2021.05.11 |
[MSSQL] REPLACE, STUFF : 문자열 바꾸기(치환) (0) | 2021.04.28 |
댓글