MS SQL에서 ntext vs char(500) 용량 비교

MS SQL에서 ntext vs char(500) 용량 비교

항목 설명 비고
ntext 최대 2^30-1 (약 1GB)까지 저장 가능한 가변 길이 유니코드 텍스트 데이터 타입 1글자 = 2바이트 (UTF-16 기반), 가변적 저장 (내용 길이에 따라)
char(500) 고정 길이 500자 문자열 1글자 = 2바이트 (nchar는 유니코드), 무조건 500×2 = 1000바이트

🔥 결론

  • char(500)은 항상 1000바이트(1KB)를 차지합니다. (빈 문자열이어도 공간은 고정)

  • ntext는 저장된 데이터 크기만큼만 공간을 차지합니다. (예: 10글자 저장 시 약 20바이트만 사용)

따라서,

  • 데이터가 작거나 가변적이라면 ntext가 공간을 훨씬 적게 차지합니다.

  • 데이터가 항상 꽉 차 있는 경우(500자 꽉 채움)라면 둘 다 비슷할 수 있지만, ntext는 추가 메타데이터(포인터 구조)가 있어서 약간 오버헤드가 있을 수 있습니다.


📌 추가 주의사항

  • ntext구형 데이터 타입입니다. (SQL Server 2005 이후부터 ntext, text, image는 deprecated = 사용 비추천)

  • 대신에 **nvarchar(max)**를 사용하는 것이 권장됩니다.

  • 관리나 쿼리 최적화 측면에서도 ntext보다 nvarchar(max)가 더 좋습니다.


요약

데이터 타입 용량 특징 비고
char(500) 무조건 1000바이트 고정 고정 저장, 비효율적 가능
ntext 데이터 크기에 따라 변동 효율적이나 구버전 타입

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다