💡 개요
오늘은 MySQL의 VARCHAR 타입과 한글의 관계, VARCHAR 타입에 한글을 저장할 때, 영어와 차이점에 대해 정리해 보자.
📕 VARCHAR
MySQL에서 VARCHAR는 문자열 데이터를 저장하는 데 사용되는 타입이다.
문자열을 저장할 수 있는 또 다른 타입으로 CHAR가 있지만, 이는 고정 길이 문자열을 저장하는 방식이다.
반면, VARCHAR는 가변 길이 문자열을 저장할 수 있어 메모리를 보다 효율적으로 사용할 수 있다.
따라서, 문자열의 길이가 일정하지 않은 데이터를 저장할 때는 VARCHAR를 사용하는 것이 더 유연한 선택이 될 수 있다.
🚀 언어와 VARCHAR
VARCHAR에 영어와 한글을 저장할 때, 같은 길이를 지정해도 저장할 수 있는 문자 개수가 달라진다.
그 이유는 문자가 차지하는 바이트(byte) 크기가 다르기 때문이다.
영어는 알파벳 하나당 1 byte이다.
하지만 한글은 하나의 글자에 3byte를 차지한다.
예를 들어 VARCHAR(10)에 문자열을 저장한다고 하면 알파벳과 특수문자는 10글자를 저장할 수 있다.
하지만 한글은 3글자 X 3byte = 9 이기 때문에 총 3글자만 저장할 수 있다.
그렇기 때문에 한글을 총 몇 글자를 저장할지 모르는 경우엔 그냥 VARCHAR(255)을 선언하는데 가장 안전한 방법이다.
'개발 일기' 카테고리의 다른 글
[개발 일기] 2025.02.20 - 리눅스 Swap Memory (0) | 2025.02.20 |
---|---|
[개발 일기] 2025.02.19 - 서브 도메인 (0) | 2025.02.19 |
[개발 일기] 2025.02.17 - Service 여러 개 Repository (Feat : Facade 패턴) (0) | 2025.02.17 |
[개발 일기] 2025.02.16 - Transaction Synchronization (0) | 2025.02.16 |
[개발 일기] 2025.02.15 - Security Context (0) | 2025.02.15 |