본문 바로가기

카테고리 없음

Mysql) char과 varchar의 차이

CHAR과 VARCHAR은 모두 텍스트 문자열을 담는 단위이다.




CHAR은 문자의 크기가 할당량에 미치지 못할 경우, 나머지 공간은 공백으로 채워버린다.


즉,


100Byte의 크기를 지정해두고


Bino라는 글자를 넣었을때 크기는 영문 4글자이기때문에 4Byte가 되어야 하지만 CHAR의 크기가 100Byte이기 때문에 나머지는 모두 공백으로 채워진다.


하지만 VARCHAR은 크기가 100Byte라고 해도 Bino를 집어넣는다면 공간만큼 4Byte의 크기가 형성된다.




그러면 VARCHAR이 무조건 더 좋은게 아닌가? 라는 의문이 붙는다.


하지만 그러면 괜히 CHAR이 존재하는게 아니지 않겠는가.



VARCHAR은 고정적인 값이 아니어서 그 값의 크기를 가늠할 딜레이가 생긴다.


즉, 오버헤드가 존재한다는 것이다.




그러니까 결국 비슷한 크기의 값이 들어오는 것이라면 CHAR이 더 낫다고 볼 수 있는것이다.