2011-01-12 4 views
2

여러 테이블이있는 SQL Server 2008 R2 데이터베이스가 있습니다. 이 중 두 테이블에는 데이터가 많이 포함되어 있는데, 그 중 하나는 VARBINARY(MAX)이고, 자매 테이블은 GEOGRAPHY입니다. (왜 두 테이블? 관심이 있으시면 아래를 읽으십시오 ***)discriminator 열을 기반으로 단일 SQL 2008 DB 테이블을 여러 파일 그룹으로 분할 할 수 있습니까?

이 테이블의 데이터는 우편 번호 경계와 같은 지형 공간 형태입니다.

지금, 제 70K 홀수 행을 행하기 DataType = 2

위한 DataType = 1 나머지 5 밀이며, 두 개의 파일에 테이블 데이터를 분할 할 수있다? 따라서 DataType != 2에 대한 모든 행은 File_A에 들어가고 DataType = 2File_B에 들어갑니다.

이렇게하면 DB를 백업 할 때 File_B를 건너 뛰어도 다운로드가 더 작아 질 수 있습니다. 이것이 가능한가?


아마도 두 개의 추가 테이블로 유지하지 않으려 고 생각할 것입니다. 주로 코드에서 데이터가 개념적으로 동일하기 때문에 ..이 모델 데이터의 저장 영역을 분할하려고합니다. 내 모델에서 하나가 아닌 두 개의 집계가 어떻게 지금 내 모델에서 엉망이됩니다.

*** 엔티티 프레임 워크는 GEOGRAPHY와 테이블을 좋아하지 않는다, 그래서 내가 VARBINARYGEOGRAPHY를 변환하는 새 테이블을 만든 다음 EF에 그 드롭해야한다.

답변

3

다소 과잉이지만 각 파티션을 별개의 파일 그룹에 매핑 할 수 있으므로 테이블 분할을 사용하면이 작업을 수행 할 수 있습니다. 일부주의 사항 :

  • 테이블 파티셔닝은 기업 (개발자) 에디션에서만 사용할 수는
  • 처럼 클러스터 인덱스 만 그래서 이것은 당신이 당신의 테이블을 분할 할 거라고 어떻게 확신 할 하나 얻을
  • "선택 백업"또는 훨씬 더 중요한 부분 복원과 비교할 때 이것이 얼마나 잘 작동하는지 잘 모르겠습니다. 프로덕션에 들어가기 전에 많은 홀수 복구 시나리오를 테스트 해보고 싶을 것입니다.

구식 뷰는 파티션 된 뷰를 설정하는 것입니다. 이렇게하면 실제로 두 개의 테이블이 생기지 만 분할 된 뷰인 "구조"는 매우 견고하고 우아합니다. 따라서 여러 백업 파일에 데이터를 분할하는 것에 대해 걱정할 필요가 없습니다.

+0

그래서 두 테이블을 남길 수 있습니다. 그러나 노동 조합이 모두 식별 할 수있는 견해를 가지고 있으며 따라서 판별자를 통해 하나의 테이블을 만들 수 있습니까? –

+0

나는보기를 끝내었다 - 그리고 그것이 효과가 있었다 : P –

0

data partitioning을 조사하고 싶을 것 같습니다. DataType 열과 같은 키 값을 기준으로 데이터를 여러 파일 그룹 및 파일로 분할 할 수 있습니다.

데이터 파티셔닝은 성능 향상에도 도움이됩니다. 따라서 필요한 경우에도 인덱스의 파티션 구성표를 확인할 수 있습니다.

관련 문제