programing

SQL Server 텍스트 유형 대 varchar 데이터 유형

telebox 2023. 4. 7. 21:09
반응형

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.

:MAXVARCHAR ★★★★★★★★★★★★★★★★★」VARCHAR(MAX)인데, 는 매우 .후자는 매우 가까운 타입입니다.TEXT.

이전 버전의 SQL Server에서는TEXT할 수 것은, 「」, 「」입니다.TEXTPTR 에사니니 and and and에 사용합니다.READTEXT ★★★★★★★★★★★★★★★★★」WRITETEXT★★★★★★★★★★★★★★★★★★.

SQL Server 2005에서 직접 액세스 할 수 있습니다.TEXT하지만)VARCHAR값을 할당합니다).

TEXT★★★★

  • 대용량 텍스트를 데이터베이스에 저장해야 하는 경우
  • 열 값을 검색하지 않는 경우
  • 이 열을 거의 선택하지 않고 조인하지 않는 경우.

VARCHAR★★★★

  • 작은 끈을 저장하면
  • 문자열 값으로 검색하면
  • 항상 선택하는 경우 또는 조인에서 사용하는 경우.

여기서 선택하는 것은 열의 값을 반환하는 쿼리를 발행하는 것을 의미합니다.

여기서 검색한다는 은 결과가 그 값에 따라 달라지는 모든 쿼리를 발행하는 것을 의미합니다.TEXT ★★★★★★★★★★★★★★★★★」VARCHAR기둥.여기에는 임의의 장소에서 사용하는 것도 포함됩니다.JOIN ★★★★★★★★★★★★★★★★★」WHERE★★★★★★ 。

TEXTrow, 는 " " " 를 하지 않습니다.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) . 。textdatatype은 더 이상 사용되지 않으므로 새 개발 작업에 사용하면 안 됩니다.문서에서:

중요한

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

바이트 수/

  1. varchar(max), varbinary(max), xml, 텍스트 또는 이미지 열 2^31-1
  2. nvarchar(최대) 열 2^30-1 2^30-1

언급URL : https://stackoverflow.com/questions/564755/sql-server-text-type-vs-varchar-data-type

반응형