매년 10 억 개가 넘는 행을 테이블에 삽입하는 응용 프로그램이 있습니다. 이 테이블에는 일부 varchar
및 bigint
열과 하나의 블롭 열도 포함됩니다.
10 억 개의 행은 추적 목적으로 유지되는 기록 데이터로 구성됩니다. 따라서 최대 테이블 크기에 대한 이 MSDN 기사에 따라이 구조를 계속하면 테이블 용량 제한이 있는지 궁금합니다 .
해당 링크에 언급 된 데이터 파일 크기가 테이블 데이터 파일 그룹을 참조합니까?
매년 10 억 개가 넘는 행을 테이블에 삽입하는 응용 프로그램이 있습니다. 이 테이블에는 일부 varchar
및 bigint
열과 하나의 블롭 열도 포함됩니다.
10 억 개의 행은 추적 목적으로 유지되는 기록 데이터로 구성됩니다. 따라서 최대 테이블 크기에 대한 이 MSDN 기사에 따라이 구조를 계속하면 테이블 용량 제한이 있는지 궁금합니다 .
해당 링크에 언급 된 데이터 파일 크기가 테이블 데이터 파일 그룹을 참조합니까?
답변:
SQL Server 2008의 테이블은 많은 수의 레코드를 처리 할 수 있으며 @usr에서 언급했듯이 디스크 공간에 따라 다르지만 테이블에 많은 행이 있고 계속 증가하면 분할 된 테이블을 사용하는 것이 좋습니다 http://technet.microsoft . com / en-us / library / dd578580 (v = sql.100) .aspx
데이터베이스 테이블의 크기가 수백 기가 바이트 이상으로 커지면 새 데이터를로드하고 오래된 데이터를 제거하며 인덱스를 유지 관리하기가 더 어려워 질 수 있습니다.
그것에 대한 자세한 정보
아마도 분할보기 가 작동 했을 것입니다.
로부터 사용 분할 된 뷰 MSDN 기사 :
분할 된 뷰를 사용하면 큰 테이블의 데이터를 더 작은 멤버 테이블로 분할 할 수 있습니다. 데이터는 열 중 하나의 데이터 값 범위에 따라 멤버 테이블간에 분할됩니다. 각 멤버 테이블의 데이터 범위는 파티셔닝 열에 지정된 CHECK 제약 조건에 정의되어 있습니다. 그런 다음 UNION ALL을 사용하여 모든 멤버 테이블의 선택을 단일 결과 세트로 결합하는보기가 정의됩니다. 뷰를 참조하는 SELECT 문이 파티션 컬럼에서 검색 조건을 지정할 때, 쿼리 최적화 프로그램은 CHECK 제한 조건 정의를 사용하여 행을 포함하는 멤버 테이블을 판별합니다.
AmmarR이 그의 답변에서 정보를 제공 한 Paritioned Table과 어떻게 다른지 잘 모르겠습니다.