많은 데이터베이스에는 varchars로 정의 된 필드가 있습니다. 제가 미국에서 살고 일한 이후로 큰 문제가되지 않았습니다 (존재하는 유일한 언어는 "American"입니다. ahem )
약 5 년 동안 데이터베이스 작업을 한 결과, 결국 varchar 필드의 제한된 특성에 문제가 생겼으며 데이터를 nvarchar로 저장하도록 필드를 수정해야합니다. varchar 필드를 nvarchar로 변환하여 테이블을 다시 업데이트 한 후 방금 생각했습니다. 왜 우리는 여전히 이런 식으로합니까? 나는 10 년 전 학교에있을 때 교과서에서 배운 것을 대신하여 varchar 대신 nvarchar에 새로운 모든 텍스트 필드를 정의하기로 오랫동안 정신적으로 결정했습니다.
2011 년이며 작년에 새로운 SQL Server 릴리스가있었습니다. 왜 nvarchar을 사용할 수 있고 사용해야 할 때 varchar 데이터 유형을 계속 지원합니까?
nvarchar가 varchar보다 "두 배"라고 주장하는 경우가 많으므로 저장 공간 사용은 varcar를 유지하는 데있어 하나의 논쟁이 될 수 있습니다.
그러나 오늘날의 사용자는 스토리지 공간을 절약하려는 경우 데이터를 기본 UTF-16 대신 UTF-8로 저장하도록 nvarchar을 정의 할 수 있습니다. 이것은 기본적으로 바람직한 경우 8 비트 인코딩을 허용하는 동시에 DB에 삽입되는 드문 2-8 바이트 문자가 아무 것도 깨지지 않도록 보장합니다.
뭔가 빠졌습니까? 지난 15-20 년 동안 이것이 바뀌지 않은 좋은 이유가 있습니까?