2014-05-24 4 views
2

나는 varchar의 다른 설명을 읽고 지금까지 나는이 왔 :SQL VARCHAR 문자 제한

CHAR()  fixed from 0 to 255 characters long 
VARCHAR() variable from 0 to 255 characters long 
TINYTEXT  maximum length of 255 characters 
TEXT   maximum length of 65535 characters 
BLOB   maximum length of 65535 characters 
MEDIUMTEXT maximum length of 16777215 characters 
MEDIUMBLOB maximum length of 16777215 characters 
LONGTEXT  maximum length of 4294967295 characters 
LONGBLOB  maximum length of 4294967295 characters 

다음이

  • CHAR (n)을 변수 저장 고정 소수점을 정확히 n 문자 (및 따라서 n 바이트)를 구성하는 전체 길이 문자열. 크기는 8,000 자로 제한됩니다.

  • nchar (n) 변수는 정확히 n 문자 (및 따라서 2 * n 바이트)로 구성된 고정 길이 유니 코드 문자열을 저장합니다. 크기는 4,000 자로 제한됩니다.

  • varchar (n) 변수에는 약 n 자로 구성된 고정 길이가 아닌 문자열이 저장됩니다. 그들은 l + 2 바이트의 공간을 소비합니다. 여기서 l은 문자열의 실제 길이입니다. 크기는 8,000 자로 제한됩니다.

  • nvarchar (n) 변수에는 약 n 자로 구성된 고정 길이가 아닌 유니 코드 문자열이 저장됩니다. 그들은 2 * l + 2 바이트의 공간을 소비합니다. 여기서 l은 문자열의 실제 길이입니다. 크기는 4,000 자로 제한됩니다.
  • varchar (max) 변수는 1,073,741,824 자까지의 고정 길이가 아닌 문자열을 저장합니다. 그들은 l + 2 바이트의 공간을 소비합니다. 여기서 l은 문자열의 실제 길이입니다.
  • nvarchar (max) 변수는 최대 536,870,912 자로 구성된 고정 길이 유니 코드 문자열을 저장합니다. 그들은 l * 2 + 2 바이트의 공간을 소비합니다. 여기서 l은 문자열의 실제 길이입니다.
  • 텍스트ntext 변수는 최대 2GB의 텍스트 데이터 (각각 ANSI 및 유니 코드)를 저장할 수 있지만 많은 텍스트 작업에서는 사용할 수 없습니다. 따라서 대개 레거시 응용 프로그램을 지원하는 데만 사용되며 varchar (max) 및 nvarchar (max) 데이터 형식으로 대체되었습니다.

그럼 문자 최대 숫자는 varchar입니다. 내가 궁금 이유 나는 간단한 작은 CMS을 시작하고 당신은 예를 들어 볼 수 있듯이 내가

또한
nvarchar(max)[length] * 2 + 2 
nvarchar being 100,000 * 2 + 2 = 200,002 bytes (what is + 2 is it literal?) 

내가 varchar(8,000) 더 이상 varchar(max)입니다 읽었습니다 무게 오버로드에 내 SQL DB를 원하고하지 않는 것입니다 그래서 당신은 가변적으로 변화하는 문자 길이, 특히 내용을 위해 내가 사용하는 타입을 어떻게 제안 할 것인가?

+0

어디에서'varchar (8,000)'을 읽었습니까?'varchar (max)'보다 낫지 않습니까? –

+0

@OP : http://dev.mysql.com/doc/refman/5.0/en/storage-requirements.html –

+3

@EasyBB. . . 당신은 분명히 다른 데이터베이스의 문서를 혼동하고 있습니다. 첫 번째 문서는 MySQL을 가리키고 SQL Server는 SQL Server를 가리 킵니다. –

답변