varchar(max), naverchar(max), varbinary(max) 소개

2009. 11. 20. 16:12Database

varchar(max)

  • 문자열/이진 데이터의 크기가 상당히 가변적이며 8,000 바이트를 초과할 수 있는 경우에 사용함
  • 문자열 함수 사용 가능함
  • 작은 데이터와 큰 데이터가 혼합된 환경에서 단일화된 프로그래밍 모델을 제공함

nvarchar(max)

varchar(max)와 특징 동일

  • nvarchar 형식의 데이터는 varchar 형식의 데이터에 비해서 2배의 공간 사용
  • varchar 에서 한글(2바이트), 영문(1바이트) 공간 필요
  • nvarchar 에서 한글(4바이트), 영문(2바이트) 공간 필요

varbinary(max)

  • varbinary의 확장
  • 2GB까지 지원됨
  • MAX라는 크기 지정자를 사용함
  • 컬럼에 저장되는 데이터의 길이가 8,000 바이트를 초과할 때 사용함

행 오버플로 데이터

  • SQL Server 2005에서는 8KB를 초과하는 행 오버플로 데이터가 지원됨
  • varchar, nvarchar, varbinary, sql_variant 컬럼이 있는 테이블의 경우에는 8K 페이지 크기의 제약이 완화됨
  • 이 컬럼들이 결합된 경우에는 8,060 바이트의 제한을 초과할 수 있음
  • 이들 각각의 컬럼의 길이는 여전히 8,000 바이트 이내이어야 함
  • 테이블에 저장되는 행의 전체 길이가 8,060 바이트 한계를 초과하면 SQL Server 가 하나 이상의 가변 길이 컬럼을 가장 너비가 넓은 컬럼부터 ROW_OVERFLOW_DATA 할당 단위에 있는 페이지로 동적으로 이동시킴

참고

varchar(max), nvarchar(max), varbinary(max), text, image, xml 컬럼은 길이가 8,000 바이트 이내이어야 하는 제한 사항이 적용되지 않음