TEXT
및 VarChar(MAX)
2147483647 비 유니 코드 문자 (: 2기가바이트 즉, 최대 저장 용량 인)의 최대 저장할 수 있습니다 유니 코드가 아닌 큰 변수 길이 문자 데이터 유형입니다.
에 따라 MSDN 링크 마이크로 소프트는 텍스트 데이터 유형을 사용하지 않는 것이 제안되고 이는 SQL Server의 이후 버전에서 제거 될 예정입니다. Varchar (Max)는 Text 데이터 형식 대신 큰 문자열 값을 저장하기 위해 제안 된 데이터 형식입니다.
- In-Row 또는 Out-of-Row 스토리지
(A)의 데이터 Text
형식 열이 밖으로의 열 저장 별도 LOB 데이터 페이지이다. 테이블 데이터 페이지의 행에는 실제 데이터가있는 LOB 데이터 페이지에 대한 16 바이트 포인터 만 있습니다. Varchar(max)
유형 열의 데이터는 8000 바이트 이하인 경우 행에 저장됩니다. Varchar (max) 열 값이 8000 바이트를 넘으면 Varchar (max) 열 값은 별도의 LOB 데이터 페이지에 저장되며 행에는 실제 데이터가있는 LOB 데이터 페이지에 대한 16 바이트 포인터 만 있습니다. 따라서 In-Row
Varchar (Max)는 검색 및 검색에 적합합니다.
텍스트 유형 열에서는 작동하지 않지만 VarChar (Max) 유형 열에서는 작동하는 일부 문자열 함수, 연산자 또는 구문입니다.
=
VarChar (Max) 유형 열의 연산자와 동일
VarChar (Max) 유형 열의 그룹 별 절
VarChar (Max) 유형 열 값은 저장할 값의 길이가 8000 바이트를 초과하거나 행에 공간이 충분하지 않은 경우에만 행 외부에 저장됩니다. 그렇지 않으면 저장됩니다. 그것은 행에있다. 따라서 VarChar (Max) 열에 저장된 대부분의 값이 크고 행 외부에 저장된 경우 데이터 검색 동작은 텍스트 유형 열과 거의 유사합니다.
그러나 VarChar (Max) 유형 열에 저장된 대부분의 값이 행에 저장하기에 충분히 작은 경우. 그런 다음 LOB 컬럼 값이 포함되지 않은 데이터를 검색하려면 LOB 컬럼 값이 비 LOB 컬럼 값이 저장된 동일한 데이터 페이지에 행에 저장되므로 더 많은 수의 데이터 페이지를 읽어야합니다. 그러나 선택 쿼리에 LOB 열이 포함 된 경우 텍스트 유형 열과 비교하여 데이터 검색을 위해 읽을 페이지 수가 더 적습니다.
결론
좋은 성능 VarChar(MAX)
보다는 데이터 형식을 사용하십시오 TEXT
.
출처