SQL Server 텍스트 유형 대 varchar 데이터 유형
가변 길이의 문자 데이터를 가지고 있으며 SQL Server(2005) 데이터베이스에 저장하려고 합니다.TEXT SQL 타입을 선택하거나 VARCHAR SQL 타입을 선택하는 방법에 대한 베스트 프랙티스를 몇 가지 배우고 싶습니다.퍼포먼스/풋프린트/기능의 장단점을 알고 싶습니다.
TEXT
큰 문자열 데이터에 사용됩니다.필드의 길이가 특정 임계값을 초과하면 텍스트는 행 밖으로 저장됩니다.
VARCHAR
는 항상 행에 저장되며 최대 8000자입니다.를 작성하려고 하면VARCHAR(x)
여기서 x > 8000 은 다음 에러가 발생합니다.
서버: Msg 131, 레벨 15, 스테이트 3, 라인 1
'varchar' 유형에 지정된 크기()가 모든 데이터 유형에 허용되는 최대값(8000)을 초과합니다.
.VARCHAR(MAX)
SQL Server 2005에서는 다음과 같이 행에 저장될 수 있습니다.TEXT
.
:MAX
VARCHAR
★★★★★★★★★★★★★★★★★」VARCHAR(MAX)
인데, 는 매우 .후자는 매우 가까운 타입입니다.TEXT
.
이전 버전의 SQL Server에서는TEXT
할 수 것은, 「」, 「」입니다.TEXTPTR
에사니니 and and and에 사용합니다.READTEXT
★★★★★★★★★★★★★★★★★」WRITETEXT
★★★★★★★★★★★★★★★★★★.
SQL Server 2005에서 직접 액세스 할 수 있습니다.TEXT
하지만)VARCHAR
값을 할당합니다).
TEXT
★★★★
- 대용량 텍스트를 데이터베이스에 저장해야 하는 경우
- 열 값을 검색하지 않는 경우
- 이 열을 거의 선택하지 않고 조인하지 않는 경우.
VARCHAR
★★★★
- 작은 끈을 저장하면
- 문자열 값으로 검색하면
- 항상 선택하는 경우 또는 조인에서 사용하는 경우.
여기서 선택하는 것은 열의 값을 반환하는 쿼리를 발행하는 것을 의미합니다.
여기서 검색한다는 것은 결과가 그 값에 따라 달라지는 모든 쿼리를 발행하는 것을 의미합니다.TEXT
★★★★★★★★★★★★★★★★★」VARCHAR
기둥.여기에는 임의의 장소에서 사용하는 것도 포함됩니다.JOIN
★★★★★★★★★★★★★★★★★」WHERE
★★★★★★ 。
TEXT
row, 는 " " " 를 하지 않습니다.TEXT
일반적으로 컬럼이 더 빠릅니다.
예를 들어,TEXT
★★★★
- 블로그 코멘트
- Wiki 페이지
- 코드 소스
예를 들어,VARCHAR
★★★★
- 사용자명
- 페이지 제목
- 파일명
경험적으로 텍스트 값이 200자를 초과해야 하고 이 열에 조인(join)을 사용하지 않는 경우 다음을 사용하십시오.TEXT
.
이외의 경우는, 「」를 사용합니다.VARCHAR
.
추신: 동일한 내용이UNICODE
" "NTEXT
★★★★★★★★★★★★★★★★★」NVARCHAR
위의 예시로 사용해야 합니다.
P.P.S. 동일한 내용이VARCHAR(MAX)
★★★★★★★★★★★★★★★★★」NVARCHAR(MAX)
대신 SQL Server 2005+가 사용하는TEXT
★★★★★★★★★★★★★★★★★」NTEXT
를효게 . . . . . . . . . . . . . . . . . . . . .를 활성화해야 합니다.large value types out of row
에게 sp_tableoption
항상 행 밖으로 저장되도록 하려면 이 옵션을 선택합니다.
위와 여기에서도 언급했듯이,TEXT
는 향후 입니다.
text in row
옵션은 이후 버전의 SQL Server에서 제거됩니다.새로운 개발 작업에서 이 옵션을 사용하지 않도록 하고 현재 사용하고 있는 응용 프로그램을 수정할 계획입니다.text in row
는 .을 하는 것이 .varchar(max)
,nvarchar(max)
, 「」varbinary(max)
types.데이터 타입.이러한 및 하려면 , 「 」를 합니다.large value types out of row
★★★★★★ 。
Server 2005를 사용합니다.varchar(MAX)
. 。text
datatype은 더 이상 사용되지 않으므로 새 개발 작업에 사용하면 안 됩니다.문서에서:
중요한
ntext
, 및 데이터 유형은 향후 버전의 Microsoft SQL Server에서 삭제될 예정입니다.새로운 개발 작업에 이러한 데이터 유형을 사용하지 않도록 하고, 현재 이러한 데이터 유형을 사용하는 애플리케이션을 수정할 계획입니다.대신 nvarchar(max), varchar(max) 및 varbinary(max)를 사용합니다.
SQL Server 2005 sql sql sql 。varchar(max)
★★★★★★★★★★★★★★★★★」nvarchar(max)
형식의 . 할 수 , . 최대 2GB의 데이터를 저장할 수 있지만 대부분의 장점은varchar
★★★★★★★★★★★★★★★★★」nvarchar
이러한 장점으로는 서브스트링() 등의 문자열 조작 기능을 사용할 수 있습니다.
또한 varchar(최대)는 테이블(디스크/메모리) 공간에 저장되지만 크기는 8Kb 미만입니다.필드에 더 많은 데이터를 배치해야 테이블 공간 밖에 저장됩니다.테이블 공간에 저장된 데이터는 일반적으로 더 빨리 검색됩니다.
즉, (n)varchar(max)보다 나은 방법이 있으므로 Text를 사용하지 마십시오.또한 일반 varchar가 충분히 크지 않은 경우에만 varchar(max)를 사용하십시오. 즉, 저장할 문자열이 8000자를 초과할 것으로 예상되는 경우입니다.
전술한 바와 같이 TEXT 데이터 유형에는 SUBSTRING을 사용할 수 있지만 TEXT 필드에 8000자 미만의 문자가 포함되어 있는 경우에만 사용할 수 있습니다.
ms 2008 -> 어떤 데이터 타입을 사용할지 결정할 때 다음 문서를 검토할 필요가 있습니다.http://msdn.microsoft.com/en-us/library/ms143432.aspx
바이트 수/
- varchar(max), varbinary(max), xml, 텍스트 또는 이미지 열 2^31-1
- nvarchar(최대) 열 2^30-1 2^30-1
언급URL : https://stackoverflow.com/questions/564755/sql-server-text-type-vs-varchar-data-type
'programing' 카테고리의 다른 글
WPF에서의 버튼 플랫스타일 설정 (0) | 2023.04.12 |
---|---|
SQL Server에서 특정 테이블을 참조하는 모든 외부 키를 나열하려면 어떻게 해야 합니까? (0) | 2023.04.07 |
SQL Server Management Studio에서 테이블 편집 후 변경 사항 저장 (0) | 2023.04.07 |
SQL Server의 CASE 문에서는 OR이 지원되지 않습니다. (0) | 2023.04.07 |
SQL : <=와 >= 사이 (0) | 2023.04.07 |