본문 바로가기

MYSQL

[mysql] 문자열 데이터 타입 : CHAR vs VARCHAR

CHAR

- 고정 크기의 공간을 할당받게 된다.

- 고정 데이터에 사용한다 (성별, 주민번호 등)

 

- 저장 및 검색이 빠르지만, 저장공간 낭비

 

 

VARCHAR

- 입력되는 데이터에 따라 길이가 가변적이다.

- 가변적인 데이터에 사용한다 (주소, 내용 등)

 

 

문자열 데이터 타입의 특징

- 문자셋(UTF-8 등)을 지정할 수 있다. 

- 따라서, 같은 데이터 타입이라도 문자셋에 따라 다른 크기의 공간을 차지하게 된다!!

 

[예시]

VARCHAR(10) CHARACTER SET UTF8mb4 -> 40바이트

VARCHAR(10) CHARACTER SET UTF8 -> 30바이트

VARCHAR(10) CHARACTER SET ASCII -> 10바이트