본문 바로가기
CS/Database

MYSQL에서 VARCHAR와 TEXT의 차이

by chuckolet 2021. 3. 10.

char만 fixed length type이고, text와 varchar는 variable length data type 입니다.

아래 레퍼런스 글을 바탕으로 정리해보자면, text와 varchar는

 

  • max size limit을 정할 수 있는가
    • text: 없다, 무조건 65535
    • varchar: 있다. 1 ~ 65535
  • 저장된 character 외의 현재 저장하고 있는 string의 사이즈를 저장하는데 1~2 byte를 더 쓴다
    • text: 무조건 2 byte
    • varchar: x <= 255 then, 1 byte, 256 <= x <= 65535 then, 2 byte
  • index의 일부로 쓰일 수 있는가
    • text: 없다
    • varchar: 있다
  • 기타
    • text: disk에 저장해서 느림
    • varchar: memory에 저장해서 빠름

으로 요약해볼 수 있겠습니다.

참고로 기타에 적혀있는 것처럼 text는 disk에 저장되기 때문에 자주 불리는 query에서는 performance 차이가 크다고 하니 사용에 주의해야 된다고 합니다!

 

 

위 내용을 잘 이해했는지 확인하기 위해서 아래 문제를 한 번 풀어보세요!

 

latin1 이라는 charset을 사용하고 "Test"라는 값을 저장할 때,

Q1. VARCHAR(30), VARCHAR(100) 또는 TINYTEXT에 저장하는 경우 몇 바이트를 사용할까요?

Q2. VARCHAR(2000) 또는 TEXT에 저장하는 경우 몇 바이트를 사용할까요?

 

정답은 reference 링크에 있습니다!

References

 

제 글이 도움이 되셨다면 간단하게 '공감', '댓글' 부탁드립니다!

 

 

'CS > Database' 카테고리의 다른 글

DB Query Sample  (0) 2019.04.03
[공유] [MySQL] 인덱스 정리 및 팁  (0) 2019.03.14

댓글