2010-02-18 5 views
2

텍스트 설명을위한 많은 varchar 필드가있는 SQL Server 2008 데이터베이스에 다음 테이블이 있습니다. 나는 이들을 위해 사용할 최상의 데이터 유형이 무엇인지 알고 싶다. 현재 2000 자 제한이있는 varchar를 사용하고 있지만 사람들이 텍스트를 더 추가해야하는 경우 문제가 발생할 수 있습니다. 테이블에서 TEXT를 두 번 이상 사용하는 데 문제가 있습니까? 너는 무엇을 제안 하는가?긴 텍스트 필드가 많은 SQL 테이블의 최적 데이터 유형

Table 
name varchar(250) 
description1 varchar(2000) 
description2 varchar(2000) 
description3 varchar(2000) 
description4 varchar(2000) 
description5 varchar(2000) 

답변

4

SQL Server 2008의 경우 권장되는 방법은 향후 SQL Server 버전에서 텍스트 대신 텍스트 대신 varchar (max)를 사용하는 것이 좋습니다.

당신의 테이블 디자인은 나에게 충분히 들리지만, 열이 최대 값으로 채워지고 테이블 행 수가 많으면 성능 문제가있을 수 있다고 제안하는 사람도 있습니다. SQL Server는 데이터베이스 페이지 당 8K 만 저장할 수 있으므로 테이블을 분할해야합니다. 이는 성능에 영향을줍니다.

+0

나는 지속적으로 (30 초마다) URL에서 파일을 (다른 내용으로) 다운로드합니다. 그것은 TXT 파일입니다. 이 파일을 SQL 2014에 저장하고 싶습니다.이 파일을 varchar (max) 또는 varbinary (max)로 저장하는 것이 좋습니다. 이 파일을 gzip으로 압축합니다. –

1

제 생각에는 TEXT를 사용하는 데 문제가 있습니다. 사용 중지되었습니다.

VARCHAR(2000)을 사용하는 대신 VARCHAR(MAX)을 사용하면 텍스트 열 크기를 모두 사용할 수 있으며이 경우 조작 할 수 있습니다. 바로 VARCHAR(...) 열입니다.

0

varchar(MAX)을 사용하는 또 다른 이점은 필드가 8K 최대 행 크기에 포함되지 않는다는 것입니다. 이러한 필드 각각은 8K보다 커질 수 있기 때문에 SQL은 필요할 때마다 데이터 페이지 외부에 저장하므로 페이지에 저장된 것은 모두 데이터에 대한 포인터입니다.

관련 문제