SQL Server 2008에서 넓은 테이블을 어떻게 만들 수 있습니까? 그리고 사용에 대한 제한 사항은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/922707

  •  06-09-2019
  •  | 
  •  

문제

나는 그것을 읽고 있었다 SQL Server의 최대 용량 사양 그리고 나는 넓은 테이블의 지정을 발견했습니다. 표준 테이블과는 다릅니다. 더 친숙한 1024 열로 제한되는 일반 (좁은) 테이블과 달리 최대 30,000 개의 열을 가질 수 있습니다. 나는 넓은 테이블을 위해 구글을 get지만 아무것도 관련이없는 것 같습니다. 이 새 테이블 유형에는 더 공식적인 이름이 있습니까 ???

그렇다면 왜 우리는 왜 두 가지 유형의 테이블을 가지고 있습니까?이 특수 테이블을 어떻게 만들고 더 많은 데이터를 보유 할 수있는이 테이블을 사용하는 제한 사항은 무엇입니까? Anhyone은 알고 있습니까?

도움이 되었습니까?

해결책

넓은 테이블은 열 세트와 스파 스 열을 사용하는 테이블입니다. 여전히 행당 동일한 너비 제한 (8019 바이트)을 따릅니다. 따라서 일반적으로 열이 대부분 모든 널 일 때만 사용합니다.

자세한 내용은 여기를 참조하십시오 ...

다른 팁

"테이블을 넓은 테이블로 만들거나 변경하려면 열 세트 테이블 정의에. "

에서 여기

그러나 당신은 보통 이것을하고 싶지 않습니다! 행에는 크기 제한이 있으며 관련 테이블 (일대일 관계를 가진 테이블조차도)을 사용하는 것보다 데이터를 검색하는 데 속도가 느릴 수 있습니다. 나는 이것이 관련 테이블보다 더 나은 아이디어 인 인스턴스를 아직 본 적이 없다.

또 다른 한계는 넓은 테이블이 트랜잭션 또는 병합 복제에서 작동하지 않는다는 것입니다. "스파 스 열을 지원하는 SQL Server 기술"섹션을 참조하십시오. http://msdn.microsoft.com/en-us/library/cc280604(v=sql.105).aspx

CREATE TABLE [UR_DB].[dbo].[DesiredTableName]
(DocID int PRIMARY KEY,
Title varchar(200) NOT NULL,
ProductionSpecification varchar(20) SPARSE NULL,
ProductionLocation smallint SPARSE NULL,
MarketingSurveyGroup varchar(20) SPARSE NULL,
MarketingProgramID int SPARSE NULL,
SpecialPurposeColumns XML COLUMN_SET FOR ALL_SPARSE_COLUMNS);

복잡한 테스트 데이터베이스 만들기 - 1,024 개 이상의 열이있는 테이블 만들기

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top