varchar, char, text

2023. 4. 22. 01:36DB/MYSQL

char

  • 고정 크기의 문자열을 담는 데이터 타입
  • 경우에 따라 데이터가 낭비될 수 있음
  • 크기가 고정이라 남는 부분에 대한 연산이 필요 없기에 조회시 속도가 varchar에 비해 빠른 속도를 보임

varchar

  • 가변 크기의 문자열을 담는 데이터 타입
  • 인덱스 생성이 가능

text

  • 가변 크기의 문자열을 담는 데이터 타입
  • 최대 65535 글자를 담을 수 있지만 크기 지정 불가
  • 길이를 표현하기 위한 2byte의 공간복잡도 존재
  • 인덱스를 제한적으로 생성 가능. 부분 prefix 인덱스만 가능

text를 사용하는 이유

  • varchar 타입은 한 레코드에 65535 글자만 적재할 수 있음(한 레코드 모든 글자의 합 - InnoDB의 레코드 크기 제한사항)
  • text 타입은 위와 같은 제한이 없고 다른 속성들과 별도로 다른 페이지에 저장됨
728x90

'DB > MYSQL' 카테고리의 다른 글

Full Text Index  (0) 2023.09.30
MySQL Lock  (0) 2022.11.14
MYSQL 5.7 특징  (0) 2022.04.23
MySQL  (0) 2022.02.21