home

Varchar 길이를 정하는 기준

대부분 데이터의 실제 최대 크기와 비지니스 요구사항을 기준으로 정한다. 예상 데이터 길이를 분석해서 “Just Large Enough”(원칙으로 예상 최대 길이 + 여유분)를 따르는 경우가 많다.

테스트로 length() 함수를 사용해 실제 용량을 검증하는 것이 좋다. 또한 인덱스를 걸 필드라면, 인덱스 제한인 VARCHAR(191)을 고려해야한다.

바이트 소비 기준

영어 알파벳(A-Z, a-z)과 숫자(0-9)는 1바이트를 사용한다.

한글은 UTF8MB4에서 3바이트를 차지한다.

특정 이모지나 특수 한자는 최대 4바이트를 소비할 수 있다.

대부분의 실부 패턴

  • 이름: VARCHAR(50~100) – 한글 20~30자 여유
  • 이메일: VARCHAR(255) – RFC 표준 준수
  • 비밀번호 해시: VARCHAR(255) – SHA-256 등 암호화 길이
  • 제목/설명: VARCHAR(255) 또는 TEXT – 100자 이내 단락
  • URL: VARCHAR(2083) 또는 VARCHAR(2048) 사용, S3 Presigned URL 등 긴 경우 TEXT로 전환