MySQL에서 CHAR와 VARCHAR

프로그래밍/MYSQL | 2008. 2. 22. 11:11
Posted by 손반장님
CHAR타입
- 고정길이 문자열 저장
- 최대길이 255바이트
- 크기보다 작은 문자열 저장시 뒷부분은 공백으로 채워짐(데이타를 가져올때는 공백을 제거하고 가져옴)

VARCHAR타입
- 가변길이 문자열 저장
- 최대길이 255바이트
- length + 1 만큼 저장됨

일반원리
- insert 되는 길이가 모두 같으면 char 타입으로 지정
- varchar는 문자열 길이를 저장하는데 같은 길이라면 더 많은 공간이 소모됨.

- insert 되는 길이가 다르면 varchar로 지정
- char는 항상 지정됨 바이트만큼 공간을 차지함. NULL인 경우에도.

- 저장포멧이 myISAM, ISAM일 경우 컬럼의 길이가 그다지 길지 않을경우에는 varchar보다 char로 하는것이 처리효율 면에서 좋음.

MySQL에서의 제약사항
- 한 테이블에서 varchar, blob, text 컬럼과 char를 혼합하여 사용할 수 없음.
(환경에 따라 다르다고 하는데 어떤환경을 이야기 하는지는 모르겠음)
- 혼합하여 사용할 경우 자동적으로 char컬럼을 varchar로 변환합니다.
- 예외는 혼합하여 사용하는 char 컬럼이 4바이트 이하일 경우 그냥 char 타입으로 둡니다.
- 반대로 varchar로 선언한 모든 컬럼이 4바이트 보다 작을경우 모두 char 타입으로 자동변환시킴.
 
블로그 이미지

손반장님

카테고리

분류 전체보기 (68)
잡담 (15)
stuff (6)
Mountain (11)
프로그래밍 (35)