2010-04-29 3 views
0

나는 6 천만 개가 넘는 레코드로 구성된 큰 테이블을 가지고 있으며 데이터 마이그레이션을 위해 2 개의 새로운 열을 추가하고 싶습니다. 테이블에는 인덱스가 있으며 그 중 일부는 크다. 따라서 2 개의 새로운 열을 테이블에 추가하면 데이터베이스를 추가하는 동안 데이터베이스가 느려지거나 시간이 초과 될 수 있습니다. 아니면 효과가 있을까요?라이브 데이터가 포함 된 테이블에 새 열 추가

SQL Server가 열을 다시 만들고 테이블을 다시 작성하도록 요청할 것이므로 확실히 이것을 원하지 않는다는 것을 알고 있습니다. 모든 사람들이이 문제에 도전하고있는 것입니까?

답변

1

큰 테이블의 열 및 인덱스 변경과 동일한 문제가있었습니다.

나는 단순히 ALTER TABLE을 사용하여 열을 추가합니다. 열 순서는 멋지지만 관련성이 없습니다.

열이 NULL 가능하면 시간이 적당합니다. 기본값을 추가하여 NULL이 아니게 만들려면 분명히 더 많은 작업이 필요합니다. 그러나 NOT NULL로 추가 한 다음 값으로 설정 한 다음 NOT NULL로 변경하여 다른 시간에 수행 할 수있는 3 단계로 만들 것을 고려합니다. 우리는 전체 프로세스가 더 오랫동안 이야기를해도 긴 시간을 단축하기 위해이 작업을 수행합니다.

+0

위대한 사항 : o)이 열은 데이터 이전을위한 것일 뿐이며, 작업이 끝나면 제거하는 것이 좋습니다. –

+0

@Ardman : 예 ... – gbn

관련 문제