NVARCHAR (MAX) 좋은 데이터 형식은 길이가 1-50자인 짧은 유니 코드 문자열을 저장하려는 것이지만 대부분 (90 % 이상)은 5입니다. -10 자 길이?짧은 문자열에 대한 NVarchar (MAX)
비교 및 정렬 쿼리에는이 열이 사용되지 않습니다. 포함 된 열로 색인에 추가 될 수 있습니다. 예상 행 수가 10M 이상입니다.
어떤 권장 사항이 있습니까? 미리 감사드립니다.
NVARCHAR (MAX) 좋은 데이터 형식은 길이가 1-50자인 짧은 유니 코드 문자열을 저장하려는 것이지만 대부분 (90 % 이상)은 5입니다. -10 자 길이?짧은 문자열에 대한 NVarchar (MAX)
비교 및 정렬 쿼리에는이 열이 사용되지 않습니다. 포함 된 열로 색인에 추가 될 수 있습니다. 예상 행 수가 10M 이상입니다.
어떤 권장 사항이 있습니까? 미리 감사드립니다.
왜 그런 짧은 문자열에 nvarchar (MAX)를 사용 하시겠습니까? 최대 길이가 50자인 경우 nvarchar (50)로 지정하십시오.
또한 nvarchar (MAX) 열을 900 바이트 제한을 벗어날 수 있으므로 인덱스에 포함시킬 수 있다고 생각하지 않습니다. 최대 길이가 참 (필자는 SQL 서버의 이전 버전에서 NTEXT과 동일 믿는다) (50)
나는 NVARCHAR이 (50)이 더 적절하다고 제안 변수의 길이가 긴 텍스트 값을 저장할 수 있으며 잠재적으로 무제한 길이를 저장할 수 있습니다.
값이 N자를 초과하지 않는다는 것을 알고 있으면 NVARCHAR (N)을 사용해야합니다.
NVARCHAR (MAX) 인 경우
대부분의 문자열이 5-10 자이면 NVARCHAR (50)이 대부분의 공간을 낭비하기 때문에 NVARCHAR (MAX)를 고려하고 있습니다. 내가 맞습니까? –
MAX 길이 지정자를 오해하고 있다고 생각합니다. 이것은 문자열의 실제 길이 만 저장하도록 DB에 지시하지 않습니다. 대신 DB에 최대 허용 문자 수를 저장할 수 있다고 알려줍니다 (2 기가 바이트라고 생각합니다). 기본적으로 nvarchar (및 varchar) 데이터 유형은 해당 필드에있는 데이터의 실제 문자열 길이 만 저장합니다. nvarchar (50)는 단순히 데이터를 최대 50 자까지 저장할 수 있지만 더 이상 저장할 수 없음을 나타냅니다. 그러나 50 미만을 저장하면 공간을 낭비하지 않습니다. – NYSystemsAnalyst
아니요. 필요한 공간 만 사용하십시오. NVARCHAR (50)이지만 5 문자 만 사용되는 경우 저장소 요구 사항은 10 바이트입니다. NVARCHAR는 문자 당 2 바이트를 사용합니다. – beach