1. CHAR 와 VARCHAR 의 차이점
CHAR : 고정
VARCHAR : 가변
co1 char(5) | co2 varchar(5) |
a | a |
abc | abc |
abcde | abcde |
문자열이 1개가 와도 메모리에 할당되는 것은 5 byte 공백 제거 |
문자열이 1개가 오면 메모리에 할당되는 것은 1 byte 공백 포함 변경이 이루어지면 조금 골치 아파짐 |
2. CHAR 와 VARCHAR 의 각 장점
CHAR 장점
CHAR 는 경우에 따라 데이터가 낭비될 수 있지만 추후 연산이 필요 없기 때문에
검색 속도 및 읽는 속도가 VARCHAR 에 비해 빠르다는 장점 !
글자 수가 고정되는 경우에 사용하면 데이터를 보다 효율적으로 관리할 수 있음
ex) 주민등록번호, 전화번호, 사원번호
VARCHAR 장점
입력받은 데이터의 크기가 작을 경우 그 크기만큼 메모리를 차지해서 메모리 사용량을 줄일 수 있다는 장점 !
3. CHAR 와 VARCHAR 의 공통점
1. 문자열을 데이터 타입으로, 싱글쿼터(' ')로 값을 나타냄
2. 대소문자를 구분
3. 한글은 한 글자당 3byte, 영문자는 알파벳 하나당 1byte의 크기를 가짐
4. 설정된 크기를 초과할 경우, 메모리를 초과한 나머지 값은 저장되지 않음
ex) CHAR(20)으로 했을 경우 20byte만큼만 공간이 할당되기 때문에 20byte를 넘어가면 데이터가 잘리게 됨
이러한 특성은 VARCHAR도 동일
※ mysql 5 버전부터는 괄호 안의 숫자가 byte가 아닌 글자 수를 의미
참고
'Others > 데이터베이스' 카테고리의 다른 글
006. 관계형 데이터베이스 SQL 및 모델링 - 2편 MySQL (0) | 2024.06.16 |
---|---|
006. 관계형 데이터베이스 SQL 및 모델링 - 1편 DB, DBMS, RDBMS (1) | 2024.06.16 |
[SQL] 예제 모음 - 1 (0) | 2024.06.12 |
옵티마이저 (0) | 2024.06.12 |
MySQL 설치 방법 (1) | 2024.06.10 |