2009-12-01 4 views
4

데이터 정렬이 SQL Server의 저장 영역에 미치는 영향과 유니 코드 및 비 유니 코드 데이터 형식에 미치는 영향은 무엇입니까?스토리지에 적합한 SQL Server 데이터 정렬 선택

  • 데이터 정렬이 유니 코드 저장 장치에 영향을 줍니까? 아니면 데이터베이스 내의 정렬 규칙을 관리할까요?

  • 유니 코드가 아닌 데이터 유형을 사용할 때 어떤 데이터가 데이터 정렬에 연결되어 있습니까?

  • 제한 사항이 적용되면 비 유니 코드 데이터 형식의 데이터베이스 데이터 정렬에없는 문자를 저장하려고하면 어떻게됩니까?

나의 이해는 유니 코드 데이터 형식은 비 유니 코드 데이터 형식의 저장 기능은 일정한는 (데이터 정렬에 의해 정의된다) 코드 페이지에 의존하면서 항상 유니 코드 데이터의 전체 세트를 저장할 수 있습니다 만 나타낼 수 있다는 것입니다 해당 데이터 정렬에 공통된 문자가 많습니다. 비 유니 코드 데이터 유형은 문자 당 1 바이트를 차지하면서

은 분명히 유니 코드 데이터 형식의 각 문자는 적어도 2 바이트를 차지하는 (또는이뿐만 아니라 조합에 따라 다양합니까?)

바로 여기에 저를 설정, 정확히 어떻게 작동합니까?

답변

6

SQL Server는 유니 코드 데이터 (NTEXT, NVARCHAR)를 UCS2에 저장하므로 문자 당 2 바이트가 항상 생성됩니다.

정렬은 정렬 (및 케이스)에만 영향을줍니다.

유니 코드가 아닌 데이터 유형 (TEXT, VARCHAR)에서는 문자 당 하나의 바이트 만 사용되며 데이터 정렬 코드 페이지의 문자 만 저장할 수 있습니다. 이 부분보기 MSDN article on collations