NVARCHAR (MAX)의 최대 문자는 얼마입니까?


답변:


413

열 유형의 최대 크기 NVARCHAR(MAX)는 2GB 스토리지입니다.

NVARCHAR문자 당 2 바이트를 사용 하기 때문에 약입니다. 10 억 자

Leo Tolstoj의 전쟁과 평화 는 1,440 페이지에 달하는 약 6 억 단어가 포함 된 약 6 억 개의 단어를 포함하고 있습니다. 그래서 당신은 전쟁과 평화 책 전체의 약 166 부를 각 NVARCHAR(MAX)열에 붙일 수 있습니다.

충분한 공간이 필요합니까? :-)


17
단지 니트 선택. NVARCHAR은 대부분의 문자에 2 바이트를 사용합니다. U + 00FFFF 이상의 유니 코드 카랙 터용. 4 바이트를 사용합니다.
Eli Algranti

7
이것은 스파르타 이상의 광기입니다.
MisterGeeky

1
NVgre (MAX)와 동등한 PostgreSQL은 무엇입니까?
Pratik

63

기본적으로 nvarchar (MAX) 값은 실제 길이가 4000자를 초과하지 않는 한 nvarchar (4000) 값과 동일하게 저장됩니다. 이 경우, 행 내 데이터는 데이터가 저장된 하나 이상의 별도 페이지에 대한 포인터로 대체됩니다.

데이터가 4000자를 초과 할 것으로 예상되면 nvarchar (MAX)를 사용하는 것이 좋습니다.

출처 : https://social.msdn.microsoft.com/Forums/en-US/databasedesign/thread/d5e0c6e5-8e44-4ad5-9591-20dc0ac7a870/


12
인덱싱 문제가있어 데이터가 4000자를 초과하지 않는 경우에도 권장되지 않습니다.
HLGEM

나는 이것이 구식이라고 생각합니다. @marc_s의 답변을 참조하십시오.
Fabio Milheiro 2016 년

9

에서 MSDN 문서

nvarchar [(n | 최대 )]

가변 길이 유니 코드 문자열 데이터. n 은 문자열 길이를 정의하며 1에서 4,000 사이의 값일 수 있습니다. max 는 최대 저장소 크기가 2 ^ 31-1 바이트 (2GB)임을 나타냅니다. 스토리지 크기 (바이트)는 입력 된 실제 데이터 길이의 2 배 + 2 바이트입니다.


6

실제로 nvarchar(MAX)약 1070000000자를 저장할 수 있다고 생각 합니다.


그 번호를 어디에서 얻고 있는지, "정확하게"무엇을 의미하는지 설명 할 수 있습니까? (즉, 하드 제한이 아니라 문자가 많을수록 문제가 발생할 수 있습니다. 어떤 종류의 문제가 발생합니까? 이유는 무엇입니까?)
Adi Inbar

3
확실하지 않지만 nvarchar가 varchar보다 이중 공간을 사용하여 char을 저장하고 nvarchar (MAX)에서 문자를 저장하는 데 사용할 수있는 최대 메모리 수는 2 ^ 31-1 => 2147483647이면 2147483647/2는 1073741824입니다. 정확히 정확한 숫자는 아닙니다.
Francisco Javier Larios Soto
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.