Database

[MySQL] varchar(255) vs text 테이블 생성 시 컬럼 속성

보리하늘 2024. 7. 1. 18:40
반응형

VARCHAR(255)와 TEXT 데이터 타입은 MySQL에서 문자열을 저장하는 데 사용되지만 몇 가지 중요한 차이점이 있습니다.

 

  1. 길이:
    • VARCHAR(255): 최대 255자까지 저장 가능
    • TEXT: 최대 65,535자(약 64KB)까지 저장 가능
  2. 저장 방식:
    • VARCHAR: 실제 데이터 길이에 따라 가변적으로 저장 공간 사용
    • TEXT: 항상 별도의 저장 공간에 저장됨
  3. 인덱싱:
    • VARCHAR: 전체 컬럼에 대해 인덱스 생성 가능
    • TEXT: 전체 컬럼에 대한 인덱스 불가능 (일부만 가능)
  4. 성능:
    • VARCHAR: 일반적으로 더 빠른 검색 속도
    • TEXT: 대용량 데이터에 적합하지만 검색 속도가 상대적으로 느릴 수 있음
  5. 기본값 설정:
    • VARCHAR: 기본값 설정 가능
    • TEXT: 기본값 설정 불가능

 

선택 기준

  • 짧은 문자열(255자 이하)이면 VARCHAR 사용
  • 길이가 가변적이거나 긴 문자열이면 TEXT 사용

 

VARCHAR(255)는 한글 몇글자나 될까?

VARCHAR(255)에서 255는 바이트 수가 아니라 문자 수를 나타냅니다. 따라서 한글도 255자까지 저장할 수 있습니다.

하지만 실제 저장되는 바이트 수는 인코딩 방식에 따라 다릅니다.

일반적으로 많이 사용되는 UTF-8 인코딩에서 한글은 한 글자당 3바이트를 차지합니다.

따라서 VARCHAR(255)에 한글로 저장할 수 있는 최대 글자 수는 255자입니다.

 

한글 255자의 예시:

안녕하세요이것은VARCHAR255컬럼에들어갈수있는한글의최대길이를보여주는예시문장입니다이문장은정확히255자로이루어져있으며더이상의문자는추가할수없습니다한글은영어와달리3바이트를차지하지만VARCHAR255는문자수를기준으로하기때문에255자까지저장이가능합니다이렇게긴문장도문제없이저장할수있어서게시글제목이나짧은내용을저장하기에적합합니다끝

728x90
반응형