기술(Tech, IT)/데이터베이스(Database)

[DB] MySQL CHAR, VARCHAR 차이

Daniel803 2023. 2. 2. 06:24

MySQL 문법의 자료형 중 문자열을 나타내는 자료형으로 CHAR와 VARCHAR가 있다. 둘을 아래와 같은 차이를 갖고있다.

 

1. CHAR

- 고정형: CHAR(32)로 선언될 경우 몇 바이트의 문자열이 주어지던 32 bytes가 할당된다.

- 메모리 고려 시엔 낭비가 될 수도 있지만, 메모리가 고정된 만큼 검색 및 데이터 접근과 같은 시간 측면에선 VARCHAR 대비 우수하다.

 

2. VARCHAR

- 가변형: VARCHAR(32)로 선언돼도 주어진 문자열 길이만큼 메모리가 할당된다. 예를 들어, "Daniel"로 6 bytes가 입력되면 메모리는 6 bytes만 할당된다.

- CHAR 대비 메모리 효율적이지만, 시간 복잡도 측면에선 떨어진다.

 

참고

- https://byul91oh.tistory.com/212